Function at 0x1400c8060
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x128
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xa0], 0xfffffffffffffffe
mov r14, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.1400b6390
cmp eax, 0x70
je 0x1400c80aa
mov rcx, r14
call fcn.1400b6390
cmp eax, 0x50
jne 0x1400c8bfa
mov r12, qword [r14]
cmp qword [r12 + 0x80], 0
jne 0x1400c8bd0
lea rax, [r12 + 0x80]
mov qword [rbp + 0x80], rax
mov qword [r12 + 0x80], 0xffffffffffffffff
mov qword [r12 + 0x98], 0
mov rcx, r14
call fcn.1400b6390
mov dword [rbp + 8], eax
mov rcx, r14
call fcn.1400b64c0
test al, al
je 0x1400c81c3
mov rcx, r14
call fcn.1400b65f0
mov rbx, qword [r14 + 0x10]
cmp qword [r12 + 0xa0], rbx
je 0x1400c81c7
mov rcx, r14
call fcn.1400b6390
lea rcx, [r12 + 0xa0]
cmp eax, 0x7b
mov qword [rbp + 0x88], rcx
jne 0x1400c840b
mov rdi, qword [rcx]
mov rcx, r14
call fcn.1400b6390
mov ecx, 1
cmp eax, 0x80
jb 0x1400c8169
mov ecx, 2
cmp eax, 0x800
jb 0x1400c8169
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rdi, rcx
jb 0x1400c8c1e
mov r13, qword [r12 + 0xb0]
inc r13
je 0x1400c8c3b
mov r15, qword [r12 + 0xa8]
mov rcx, r14
call fcn.1400b6390
lea rdx, [r12 + 0x88]
xor ecx, ecx
cmp eax, 0xa
sete cl
mov eax, 1
cmove r13, rax
add r15, rcx
mov qword [rbp - 0x10], rdi
mov qword [rbp - 8], r15
mov r15, rdx
mov qword [rbp], r13
jmp 0x1400c826a
mov rbx, qword [r14 + 0x10]
mov rax, qword [r12 + 0xb0]
mov qword [rbp + 0x38], rax
movups xmm0, xmmword [r12 + 0xa0]
movups xmmword [rbp + 0x28], xmm0
mov rax, qword [r12 + 0xb0]
mov qword [rbp + 0x20], rax
movups xmm0, xmmword [r12 + 0xa0]
movaps xmmword [rbp + 0x10], xmm0
mov rdi, qword [r14 + 8]
test rbx, rbx
je 0x1400c83af
js 0x1400c8c14
movzx eax, byte [0x14019d171]
mov edx, 1
mov rcx, rbx
call fcn.140007cc0
mov r14, rax
test rax, rax
jne 0x1400c83b5
mov ecx, 1
mov rdx, rbx
call fcn.1401090d0
jmp 0x1400c8d35
mov r13, qword [r12 + 0x98]
mov rcx, qword [r12 + 0x88]
add rcx, r13
lea rdx, [rbp + 0x10]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add r13, rdi
mov qword [r12 + 0x98], r13
mov rcx, r14
call fcn.1400b64c0
test al, al
je 0x1400c8535
mov rcx, r14
call fcn.1400b65f0
mov rax, qword [rbp + 0x88]
cmp qword [rax], rbx
je 0x1400c8535
mov rcx, r14
call fcn.1400b6390
cmp eax, 0x7d
je 0x1400c8535
mov rcx, r14
call fcn.1400b6390
mov edi, eax
cmp eax, 0x80
jae 0x1400c82f0
mov rdx, qword [r12 + 0x98]
cmp rdx, qword [r12 + 0x90]
jne 0x1400c82d6
mov rcx, r15
call fcn.1400093d0
mov rdx, qword [r12 + 0x98]
mov rax, qword [r12 + 0x88]
mov byte [rax + rdx], dil
inc qword [r12 + 0x98]
jmp 0x1400c826a
mov dword [rbp + 0x10], 0
mov eax, edi
cmp edi, 0x800
jae 0x1400c8320
shr eax, 6
or al, 0xc0
mov byte [rbp + 0x10], al
and dil, 0x3f
or dil, 0x80
mov byte [rbp + 0x11], dil
mov edi, 2
jmp 0x1400c8380
cmp edi, 0x10000
jae 0x1400c834f
shr eax, 0xc
or al, 0xe0
mov byte [rbp + 0x10], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x11], al
and dil, 0x3f
or dil, 0x80
mov byte [rbp + 0x12], dil
mov edi, 3
jmp 0x1400c8380
shr eax, 0x12
or al, 0xf0
mov byte [rbp + 0x10], al
mov eax, edi
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x11], al
mov eax, edi
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [rbp + 0x12], al
and dil, 0x3f
or dil, 0x80
mov byte [rbp + 0x13], dil
mov edi, 4
mov rax, qword [r12 + 0x90]
mov r13, qword [r12 + 0x98]
sub rax, r13
cmp rax, rdi
jae 0x1400c8248
mov rcx, r15
mov rdx, r13
mov r8, rdi
call fcn.140103970
jmp 0x1400c8240
mov r14d, 1
mov rcx, r14
mov rdx, rdi
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp + 0x10]
movaps xmm1, xmmword [rbp + 0x20]
movaps xmm2, xmmword [rbp + 0x30]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov dword [rsi], 0xa
mov qword [rsi + 0x38], r14
mov qword [rsi + 0x40], rbx
mov qword [rsi + 0x48], rbx
mov rax, qword [rbp + 0x80]
inc qword [rax]
add rsp, 0x128
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov rax, qword [rcx + 0x10]
mov qword [rbp - 0x30], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rbp - 0x40], xmm0
mov rcx, r14
call fcn.1400b6390
mov edi, eax
cmp eax, 0x5c
jne 0x1400c85a8
mov rax, qword [rbp + 0x88]
mov rdi, qword [rax]
mov rcx, r14
call fcn.1400b6390
mov ecx, 1
cmp eax, 0x80
jb 0x1400c8465
mov ecx, 2
cmp eax, 0x800
jb 0x1400c8465
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rdi, rcx
jb 0x1400c8c58
mov r13, qword [r12 + 0xb0]
inc r13
je 0x1400c8c75
mov r12, qword [r12 + 0xa8]
mov rcx, r14
call fcn.1400b6390
mov qword [rbp + 8], rdi
xor r15d, r15d
cmp eax, 0xa
sete dl
mov edi, 1
cmove r13, rdi
mov rcx, qword [rbp + 0x88]
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x20], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0x10], xmm0
mov r14, qword [r14 + 8]
test rbx, rbx
je 0x1400c84f7
mov byte [rbp + 0x88], dl
js 0x1400c8cbe
movzx eax, byte [0x14019d171]
mov edx, 1
mov rcx, rbx
call fcn.140007cc0
mov rdi, rax
test rax, rax
movzx edx, byte [rbp + 0x88]
je 0x1400c8cc5
mov r15b, dl
add r12, r15
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp + 0x10]
movups xmmword [rsi + 0x50], xmm0
mov rax, qword [rbp + 0x20]
mov qword [rsi + 0x60], rax
mov rax, qword [rbp + 8]
mov qword [rsi + 0x68], rax
mov qword [rsi + 0x70], r12
mov qword [rsi + 0x78], r13
mov eax, 0x1f
jmp 0x1400c8685
mov rcx, qword [rbp + 0x88]
cmp qword [rcx], rbx
jne 0x1400c85c7
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x38], rax
movups xmm0, xmmword [rcx]
movups xmmword [rbp + 0x28], xmm0
mov rax, qword [rcx + 0x10]
mov qword [rbp + 0x20], rax
movups xmm0, xmmword [rcx]
movaps xmmword [rbp + 0x10], xmm0
mov r14, qword [r14 + 8]
test rbx, rbx
je 0x1400c8655
js 0x1400c8cd4
movzx eax, byte [0x14019d171]
mov edx, 1
mov rcx, rbx
call fcn.140007cc0
mov rdi, rax
test rax, rax
jne 0x1400c865a
mov ecx, 1
mov rdx, rbx
call fcn.1401090d0
jmp 0x1400c8d35
mov rcx, r14
call fcn.1400b64c0
lea r12, [rbp - 0x40]
test al, al
je 0x1400c85c0
mov rcx, r14
call fcn.1400b65f0
xor eax, eax
jmp 0x1400c8ae3
mov rcx, r14
call fcn.1400b6390
mov dword [rbp - 0x28], eax
cmp eax, 0x7d
jne 0x1400c8c92
mov rcx, r14
call fcn.1400b64c0
mov r14, qword [r12 + 0x88]
mov rbx, qword [r12 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x14011fce8]
lea rcx, [rbp + 0x10]
mov rdx, r14
mov r8, rbx
call fcn.140100660
cmp qword [rbp + 0x10], 0
je 0x1400c8690
lea rdx, [rbp + 0x18]
cmp qword [rbp + 0x48], 0xffffffffffffffff
mov r8, qword [rbp + 0x58]
mov r9, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x70]
je 0x1400c86d2
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 0
lea rcx, [rbp - 0x28]
call fcn.1400b5c30
jmp 0x1400c86ea
mov edi, 1
mov rcx, rdi
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
movaps xmm0, xmmword [rbp + 0x10]
movaps xmm1, xmmword [rbp + 0x20]
movaps xmm2, xmmword [rbp + 0x30]
movups xmmword [rsi + 0x50], xmm0
movups xmmword [rsi + 0x60], xmm1
movups xmmword [rsi + 0x70], xmm2
mov eax, 0xa
mov dword [rsi], eax
mov qword [rsi + 0x38], rdi
jmp 0x1400c83e5
cmp byte [rbp + 0x2a], 0
jne 0x1400c88ae
mov r15, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x60]
movzx eax, byte [rbp + 0x28]
mov r8, rdx
test r15, r15
je 0x1400c881b
mov r8, rdx
sub r8, r15
jbe 0x1400c8815
cmp byte [rcx + r15], 0xc0
jge 0x1400c881b
jmp 0x1400c8cff
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
lea rcx, [rbp - 0x28]
call fcn.1400b5c30
cmp qword [rbp - 0x28], 1
jne 0x1400c88ae
mov r15, qword [rbp - 0x20]
test r15, r15
je 0x1400c872c
cmp r15, rbx
jae 0x1400c8733
cmp byte [r14 + r15], 0xbf
jg 0x1400c8735
lea rax, [0x14011fcf0]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.140109880
jmp 0x1400c8d35
mov ecx, 1
jmp 0x1400c875e
jne 0x1400c870a
test r15, r15
js 0x1400c8cdb
movzx eax, byte [0x14019d171]
mov edx, 1
mov rcx, r15
call fcn.140007cc0
mov rcx, rax
test rax, rax
je 0x1400c8ce2
mov qword [rbp + 0x90], rcx
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rdi, [r15 + 2]
cmp rbx, rdi
jbe 0x1400c87a9
cmp byte [r14 + rdi], 0xbf
jg 0x1400c87ab
mov qword [rbp + 0x98], r15
lea rax, [0x14011fd08]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.140109880
jmp 0x1400c8d35
jne 0x1400c8780
sub rbx, rdi
je 0x1400c87eb
js 0x1400c8cf1
movzx eax, byte [0x14019d171]
mov edx, 1
mov rcx, rbx
call fcn.140007cc0
mov r13, rax
test rax, rax
jne 0x1400c87f1
mov qword [rbp + 0x98], r15
mov ecx, 1
mov rdx, rbx
call fcn.1401090d0
jmp 0x1400c8d35
mov r13d, 1
add r14, rdi
mov rcx, r13
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov al, 2
lea r12, [rbp - 0x10]
mov r8, r15
mov r10, rbx
mov cl, 2
jmp 0x1400c8adc
jne 0x1400c8cff
test r8, r8
je 0x1400c8833
movzx r10d, byte [rcx + r15]
movzx r9d, r10b
test r9b, r9b
js 0x1400c883d
mov r8d, r9d
jmp 0x1400c8899
test al, al
jne 0x1400c86f9
jmp 0x1400c88ae
mov r8d, r9d
and r8d, 0x1f
movzx r11d, byte [rcx + r15 + 1]
and r11d, 0x3f
cmp r9b, 0xe0
jb 0x1400c8889
movzx r9d, byte [rcx + r15 + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1400c8892
movzx r10d, byte [rcx + r15 + 3]
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and r10d, 0x3f
or r10d, r9d
or r8d, r10d
jmp 0x1400c8899
shl r8d, 6
or r8d, r11d
jmp 0x1400c8899
shl r8d, 0xc
or r8d, r9d
test al, al
jne 0x1400c86f9
cmp r8d, 0x110000
jne 0x1400c8b63
xor edi, edi
mov rax, r14
mov r8, rbx
jmp 0x1400c88cc
lea rax, [r14 + rdi]
mov r8, rbx
sub r8, rdi
jb 0x1400c8936
cmp r8, 0x10
jae 0x1400c8900
xor edx, edx
test r8, r8
je 0x1400c88f1
nop dword [rax]
cmp byte [rax + rdx], 0x3a
je 0x1400c892b
inc rdx
cmp r8, rdx
jne 0x1400c88e0
mov rdx, r8
xor eax, eax
cmp rax, 1
je 0x1400c8910
jmp 0x1400c8936
mov cl, 0x3a
mov rdx, rax
call fcn.1400ffc60
cmp rax, 1
jne 0x1400c8936
lea r15, [rdx + rdi]
add rdi, rdx
inc rdi
cmp r15, rbx
jae 0x1400c88c0
cmp byte [r14 + r15], 0x3a
jne 0x1400c88c0
jmp 0x1400c89cb
mov eax, 1
cmp rax, 1
je 0x1400c8910
mov rcx, r14
mov rdx, rbx
mov r8d, 0x3d
call fcn.1400b5b70
cmp rax, 1
jne 0x1400c898f
mov r15, rdx
test rdx, rdx
je 0x1400c8a3f
cmp r15, rbx
jae 0x1400c8a39
cmp byte [r14 + r15], 0xbf
jg 0x1400c8a3f
lea rax, [0x14011fd38]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.140109880
jmp 0x1400c8d35
mov rcx, rbx
xor edx, edx
call fcn.140006340
mov qword [rbp + 0x98], rdx
mov rdi, rax
mov rcx, rax
mov rdx, r14
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
mov r9, rdi
mov al, 1
lea r12, [rbp - 0x10]
xor ecx, ecx
mov r15, rbx
mov r8, qword [rbp + 0x98]
jmp 0x1400c8ae3
mov rcx, r15
xor edx, edx
call fcn.140006340
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rdx
mov rcx, qword [rbp + 0x90]
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov r12, rbx
sub r12, rdi
jbe 0x1400c8a08
cmp byte [r14 + rdi], 0xbf
jle 0x1400c8d18
mov rcx, r12
xor edx, edx
call fcn.140006340
mov r13, rax
mov rbx, rdx
add r14, rdi
mov rcx, rax
mov rdx, r14
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov cl, 1
mov al, 2
mov r10, r12
lea r12, [rbp - 0x10]
jmp 0x1400c8ad5
jne 0x1400c896d
mov rcx, r15
xor edx, edx
call fcn.140006340
mov qword [rbp + 0x90], rax
mov qword [rbp + 0x98], rdx
mov rcx, qword [rbp + 0x90]
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
mov rdi, r15
inc rdi
jne 0x1400c8a76
mov r12, rbx
jmp 0x1400c8aa9
mov r12, rbx
sub r12, rdi
jbe 0x1400c8aa7
cmp byte [r14 + rdi], 0xbf
jg 0x1400c8aa9
lea rax, [0x14011fd50]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.140109880
jmp 0x1400c8d35
jne 0x1400c8a85
mov rcx, r12
xor edx, edx
call fcn.140006340
mov r13, rax
mov rbx, rdx
add r14, rdi
mov rcx, rax
mov rdx, r14
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov al, 2
mov r10, r12
lea r12, [rbp - 0x10]
xor ecx, ecx
mov r8, qword [rbp + 0x98]
mov r9, qword [rbp + 0x90]
cmp dword [rbp + 8], 0x50
mov rdx, qword [r12 + 0x10]
mov qword [rbp + 0x20], rdx
movups xmm0, xmmword [r12]
movaps xmmword [rbp + 0x10], xmm0
mov rdx, qword [rbp + 0x88]
movups xmm1, xmmword [rdx]
movups xmmword [rbp + 0x28], xmm1
mov rdx, qword [rdx + 0x10]
mov qword [rbp + 0x38], rdx
movups xmmword [rsi + 0x40], xmm0
mov rdx, qword [rbp + 0x30]
mov qword [rsi + 0x60], rdx
mov rdx, qword [rbp + 0x38]
mov qword [rsi + 0x68], rdx
mov rdx, qword [rbp + 0x20]
mov qword [rsi + 0x50], rdx
mov rdx, qword [rbp + 0x28]
mov qword [rsi + 0x58], rdx
mov byte [rsi + 8], al
mov byte [rsi + 9], cl
mov dword [rsi + 0xc], edi
mov qword [rsi + 0x10], r9
mov qword [rsi + 0x18], r8
mov qword [rsi + 0x20], r15
mov qword [rsi + 0x28], r13
mov qword [rsi + 0x30], rbx
mov qword [rsi + 0x38], r10
sete byte [rsi + 0x70]
mov dword [rsi], 0x22
jmp 0x1400c83ed
mov eax, 1
cmp r8d, 0x80
jb 0x1400c8b8f
mov eax, 2
cmp r8d, 0x800
jb 0x1400c8b8f
cmp r8d, 0x10000
mov eax, 4
sbb rax, 0
add r15, rax
je 0x1400c8ba8
mov rax, rdx
sub rax, r15
jbe 0x1400c8bad
cmp byte [rcx + r15], 0xbf
jg 0x1400c8bb3
jmp 0x1400c8cff
mov rax, rdx
jmp 0x1400c8bb3
jne 0x1400c8cff
test rax, rax
je 0x1400c86f9
movzx eax, byte [rcx + r15]
test al, al
jns 0x1400c86f9
cmp al, 0xe0
jmp 0x1400c86f9
lea rax, [0x14011fcd0]
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowedC:UsersAdministrator.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
lea r9, [0x14011f1e8]
lea r8, [rbp + 0x10]
mov edx, 0x10
call fcn.1401095f0
ud2
lea rcx, str.assertion_failed:_self.char____p__self.char____P
lea r8, [0x14011fdc0]
mov edx, 0x3e
call fcn.1401092c0
ud2
call fcn.1400fbd70
jmp 0x1400c8d35
lea rcx, [0x14011f398]
lea r8, [0x14011f498]
mov edx, 0x2b
call fcn.1401092c0
jmp 0x1400c8d35
lea rcx, [0x14011f398]
lea r8, [0x14011f4b0]
mov edx, 0x2b
call fcn.1401092c0
jmp 0x1400c8d35
lea rcx, [0x14011f398]
lea r8, [0x14011f498]
mov edx, 0x2b
call fcn.1401092c0
jmp 0x1400c8d35
lea rcx, [0x14011f398]
lea r8, [0x14011f4b0]
mov edx, 0x2b
call fcn.1401092c0
jmp 0x1400c8d35
mov qword [rbp + 0x10], 0
lea rax, [0x14011fd68]
mov qword [rsp + 0x20], rax
lea r8, [0x14011fb58]
lea rdx, [rbp - 0x28]
lea r9, [rbp + 0x10]
xor ecx, ecx
call fcn.140107f70
jmp 0x1400c8d35
call fcn.1400fbd70
jmp 0x1400c8d35
mov ecx, 1
mov rdx, rbx
call fcn.1401090d0
jmp 0x1400c8d35
call fcn.1400fbd70
jmp 0x1400c8d35
call fcn.1400fbd70
jmp 0x1400c8d35
mov ecx, 1
mov rdx, r15
call fcn.1401090d0
jmp 0x1400c8d35
mov qword [rbp + 0x98], r15
call fcn.1400fbd70
jmp 0x1400c8d35
mov r8, r15
lea rax, [0x14011f248]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.140109880
jmp 0x1400c8d35
lea rax, [0x14011fd20]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.140109880
ud2