Function at 0x1400ca760
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.1400b8a90
cmp eax, 0x70
je 0x1400ca7aa
mov rcx, r14
call fcn.1400b8a90
cmp eax, 0x50
jne 0x1400cb2fa
mov r12, qword [r14]
cmp qword [r12 + 0x80], 0
jne 0x1400cb2d0
lea rax, [r12 + 0x80]
mov qword [rbp + 0x80], rax
mov qword [r12 + 0x80], 0xffffffffffffffff
mov qword [r12 + 0x98], 0
mov rcx, r14
call fcn.1400b8a90
mov dword [rbp + 8], eax
mov rcx, r14
call fcn.1400b8bc0
test al, al
je 0x1400ca8c3
mov rcx, r14
call fcn.1400b8cf0
mov rbx, qword [r14 + 0x10]
cmp qword [r12 + 0xa0], rbx
je 0x1400ca8c7
mov rcx, r14
call fcn.1400b8a90
lea rcx, [r12 + 0xa0]
cmp eax, 0x7b
mov qword [rbp + 0x88], rcx
jne 0x1400cab0b
mov rdi, qword [rcx]
mov rcx, r14
call fcn.1400b8a90
mov ecx, 1
cmp eax, 0x80
jb 0x1400ca869
mov ecx, 2
cmp eax, 0x800
jb 0x1400ca869
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rdi, rcx
jb 0x1400cb31e
mov r13, qword [r12 + 0xb0]
inc r13
je 0x1400cb33b
mov r15, qword [r12 + 0xa8]
mov rcx, r14
call fcn.1400b8a90
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 0x1400ca96a
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 0x1400caaaf
js 0x1400cb314
movzx eax, byte [0x1401b9201]
mov edx, 1
mov rcx, rbx
call fcn.140003470
mov r14, rax
test rax, rax
jne 0x1400caab5
mov ecx, 1
mov rdx, rbx
call fcn.14011e970
jmp 0x1400cb435
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.1400b8bc0
test al, al
je 0x1400cac35
mov rcx, r14
call fcn.1400b8cf0
mov rax, qword [rbp + 0x88]
cmp qword [rax], rbx
je 0x1400cac35
mov rcx, r14
call fcn.1400b8a90
cmp eax, 0x7d
je 0x1400cac35
mov rcx, r14
call fcn.1400b8a90
mov edi, eax
cmp eax, 0x80
jae 0x1400ca9f0
mov rdx, qword [r12 + 0x98]
cmp rdx, qword [r12 + 0x90]
jne 0x1400ca9d6
mov rcx, r15
call fcn.1400033b0
mov rdx, qword [r12 + 0x98]
mov rax, qword [r12 + 0x88]
mov byte [rax + rdx], dil
inc qword [r12 + 0x98]
jmp 0x1400ca96a
mov dword [rbp + 0x10], 0
mov eax, edi
cmp edi, 0x800
jae 0x1400caa20
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 0x1400caa80
cmp edi, 0x10000
jae 0x1400caa4f
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 0x1400caa80
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 0x1400ca948
mov rcx, r15
mov rdx, r13
mov r8, rdi
call fcn.140118710
jmp 0x1400ca940
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.1400b8a90
mov edi, eax
cmp eax, 0x5c
jne 0x1400caca8
mov rax, qword [rbp + 0x88]
mov rdi, qword [rax]
mov rcx, r14
call fcn.1400b8a90
mov ecx, 1
cmp eax, 0x80
jb 0x1400cab65
mov ecx, 2
cmp eax, 0x800
jb 0x1400cab65
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rdi, rcx
jb 0x1400cb358
mov r13, qword [r12 + 0xb0]
inc r13
je 0x1400cb375
mov r12, qword [r12 + 0xa8]
mov rcx, r14
call fcn.1400b8a90
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 0x1400cabf7
mov byte [rbp + 0x88], dl
js 0x1400cb3be
movzx eax, byte [0x1401b9201]
mov edx, 1
mov rcx, rbx
call fcn.140003470
mov rdi, rax
test rax, rax
movzx edx, byte [rbp + 0x88]
je 0x1400cb3c5
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 0x1400cad85
mov rcx, qword [rbp + 0x88]
cmp qword [rcx], rbx
jne 0x1400cacc7
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 0x1400cad55
js 0x1400cb3d4
movzx eax, byte [0x1401b9201]
mov edx, 1
mov rcx, rbx
call fcn.140003470
mov rdi, rax
test rax, rax
jne 0x1400cad5a
mov ecx, 1
mov rdx, rbx
call fcn.14011e970
jmp 0x1400cb435
mov rcx, r14
call fcn.1400b8bc0
lea r12, [rbp - 0x40]
test al, al
je 0x1400cacc0
mov rcx, r14
call fcn.1400b8cf0
xor eax, eax
jmp 0x1400cb1e3
mov rcx, r14
call fcn.1400b8a90
mov dword [rbp - 0x28], eax
cmp eax, 0x7d
jne 0x1400cb392
mov rcx, r14
call fcn.1400b8bc0
mov r14, qword [r12 + 0x88]
mov rbx, qword [r12 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x140136238]
lea rcx, [rbp + 0x10]
mov rdx, r14
mov r8, rbx
call fcn.140114740
cmp qword [rbp + 0x10], 0
je 0x1400cad90
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 0x1400cadd2
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 0
lea rcx, [rbp - 0x28]
call fcn.1400b8340
jmp 0x1400cadea
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 0x1400caae5
cmp byte [rbp + 0x2a], 0
jne 0x1400cafae
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 0x1400caf1b
mov r8, rdx
sub r8, r15
jbe 0x1400caf15
cmp byte [rcx + r15], 0xc0
jge 0x1400caf1b
jmp 0x1400cb3ff
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
lea rcx, [rbp - 0x28]
call fcn.1400b8340
cmp qword [rbp - 0x28], 1
jne 0x1400cafae
mov r15, qword [rbp - 0x20]
test r15, r15
je 0x1400cae2c
cmp r15, rbx
jae 0x1400cae33
cmp byte [r14 + r15], 0xbf
jg 0x1400cae35
lea rax, [0x140136240]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.14011f120
jmp 0x1400cb435
mov ecx, 1
jmp 0x1400cae5e
jne 0x1400cae0a
test r15, r15
js 0x1400cb3db
movzx eax, byte [0x1401b9201]
mov edx, 1
mov rcx, r15
call fcn.140003470
mov rcx, rax
test rax, rax
je 0x1400cb3e2
mov qword [rbp + 0x90], rcx
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rdi, [r15 + 2]
cmp rbx, rdi
jbe 0x1400caea9
cmp byte [r14 + rdi], 0xbf
jg 0x1400caeab
mov qword [rbp + 0x98], r15
lea rax, [0x140136258]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.14011f120
jmp 0x1400cb435
jne 0x1400cae80
sub rbx, rdi
je 0x1400caeeb
js 0x1400cb3f1
movzx eax, byte [0x1401b9201]
mov edx, 1
mov rcx, rbx
call fcn.140003470
mov r13, rax
test rax, rax
jne 0x1400caef1
mov qword [rbp + 0x98], r15
mov ecx, 1
mov rdx, rbx
call fcn.14011e970
jmp 0x1400cb435
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 0x1400cb1dc
jne 0x1400cb3ff
test r8, r8
je 0x1400caf33
movzx r10d, byte [rcx + r15]
movzx r9d, r10b
test r9b, r9b
js 0x1400caf3d
mov r8d, r9d
jmp 0x1400caf99
test al, al
jne 0x1400cadf9
jmp 0x1400cafae
mov r8d, r9d
and r8d, 0x1f
movzx r11d, byte [rcx + r15 + 1]
and r11d, 0x3f
cmp r9b, 0xe0
jb 0x1400caf89
movzx r9d, byte [rcx + r15 + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1400caf92
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 0x1400caf99
shl r8d, 6
or r8d, r11d
jmp 0x1400caf99
shl r8d, 0xc
or r8d, r9d
test al, al
jne 0x1400cadf9
cmp r8d, 0x110000
jne 0x1400cb263
xor edi, edi
mov rax, r14
mov r8, rbx
jmp 0x1400cafcc
lea rax, [r14 + rdi]
mov r8, rbx
sub r8, rdi
jb 0x1400cb036
cmp r8, 0x10
jae 0x1400cb000
xor edx, edx
test r8, r8
je 0x1400caff1
nop dword [rax]
cmp byte [rax + rdx], 0x3a
je 0x1400cb02b
inc rdx
cmp r8, rdx
jne 0x1400cafe0
mov rdx, r8
xor eax, eax
cmp rax, 1
je 0x1400cb010
jmp 0x1400cb036
mov cl, 0x3a
mov rdx, rax
call fcn.140113c10
cmp rax, 1
jne 0x1400cb036
lea r15, [rdx + rdi]
add rdi, rdx
inc rdi
cmp r15, rbx
jae 0x1400cafc0
cmp byte [r14 + r15], 0x3a
jne 0x1400cafc0
jmp 0x1400cb0cb
mov eax, 1
cmp rax, 1
je 0x1400cb010
mov rcx, r14
mov rdx, rbx
mov r8d, 0x3d
call fcn.1400b8280
cmp rax, 1
jne 0x1400cb08f
mov r15, rdx
test rdx, rdx
je 0x1400cb13f
cmp r15, rbx
jae 0x1400cb139
cmp byte [r14 + r15], 0xbf
jg 0x1400cb13f
lea rax, [0x140136288]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.14011f120
jmp 0x1400cb435
mov rcx, rbx
xor edx, edx
call fcn.1400de560
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 0x1400cb1e3
mov rcx, r15
xor edx, edx
call fcn.1400de560
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 0x1400cb108
cmp byte [r14 + rdi], 0xbf
jle 0x1400cb418
mov rcx, r12
xor edx, edx
call fcn.1400de560
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 0x1400cb1d5
jne 0x1400cb06d
mov rcx, r15
xor edx, edx
call fcn.1400de560
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 0x1400cb176
mov r12, rbx
jmp 0x1400cb1a9
mov r12, rbx
sub r12, rdi
jbe 0x1400cb1a7
cmp byte [r14 + rdi], 0xbf
jg 0x1400cb1a9
lea rax, [0x1401362a0]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.14011f120
jmp 0x1400cb435
jne 0x1400cb185
mov rcx, r12
xor edx, edx
call fcn.1400de560
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 0x1400caaed
mov eax, 1
cmp r8d, 0x80
jb 0x1400cb28f
mov eax, 2
cmp r8d, 0x800
jb 0x1400cb28f
cmp r8d, 0x10000
mov eax, 4
sbb rax, 0
add r15, rax
je 0x1400cb2a8
mov rax, rdx
sub rax, r15
jbe 0x1400cb2ad
cmp byte [rcx + r15], 0xbf
jg 0x1400cb2b3
jmp 0x1400cb3ff
mov rax, rdx
jmp 0x1400cb2b3
jne 0x1400cb3ff
test rax, rax
je 0x1400cadf9
movzx eax, byte [rcx + r15]
test al, al
jns 0x1400cadf9
cmp al, 0xe0
jmp 0x1400cadf9
lea rax, [0x140136220]
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowedC:Users_runneradmin.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
lea r9, [0x140135738]
lea r8, [rbp + 0x10]
mov edx, 0x10
call fcn.14011ee90
ud2
lea rcx, str.assertion_failed:_self.char____p__self.char____P
lea r8, [0x140136310]
mov edx, 0x3e
call fcn.14011eb60
ud2
call fcn.14010fa10
jmp 0x1400cb435
lea rcx, [0x1401358e8]
lea r8, [0x1401359e8]
mov edx, 0x2b
call fcn.14011eb60
jmp 0x1400cb435
lea rcx, [0x1401358e8]
lea r8, [0x140135a00]
mov edx, 0x2b
call fcn.14011eb60
jmp 0x1400cb435
lea rcx, [0x1401358e8]
lea r8, [0x1401359e8]
mov edx, 0x2b
call fcn.14011eb60
jmp 0x1400cb435
lea rcx, [0x1401358e8]
lea r8, [0x140135a00]
mov edx, 0x2b
call fcn.14011eb60
jmp 0x1400cb435
mov qword [rbp + 0x10], 0
lea rax, [0x1401362b8]
mov qword [rsp + 0x20], rax
lea r8, [0x1401360a8]
lea rdx, [rbp - 0x28]
lea r9, [rbp + 0x10]
xor ecx, ecx
call fcn.14011d560
jmp 0x1400cb435
call fcn.14010fa10
jmp 0x1400cb435
mov ecx, 1
mov rdx, rbx
call fcn.14011e970
jmp 0x1400cb435
call fcn.14010fa10
jmp 0x1400cb435
call fcn.14010fa10
jmp 0x1400cb435
mov ecx, 1
mov rdx, r15
call fcn.14011e970
jmp 0x1400cb435
mov qword [rbp + 0x98], r15
call fcn.14010fa10
jmp 0x1400cb435
mov r8, r15
lea rax, [0x140135798]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.14011f120
jmp 0x1400cb435
lea rax, [0x140136270]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.14011f120
ud2