Function at 0x1400d69c0
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.1400c4cf0
cmp eax, 0x70
je 0x1400d6a0a
mov rcx, r14
call fcn.1400c4cf0
cmp eax, 0x50
jne 0x1400d755a
mov r12, qword [r14]
cmp qword [r12 + 0x80], 0
jne 0x1400d7530
lea rax, [r12 + 0x80]
mov qword [rbp + 0x80], rax
mov qword [r12 + 0x80], 0xffffffffffffffff
mov qword [r12 + 0x98], 0
mov rcx, r14
call fcn.1400c4cf0
mov dword [rbp + 8], eax
mov rcx, r14
call fcn.1400c4e20
test al, al
je 0x1400d6b23
mov rcx, r14
call fcn.1400c4f50
mov rbx, qword [r14 + 0x10]
cmp qword [r12 + 0xa0], rbx
je 0x1400d6b27
mov rcx, r14
call fcn.1400c4cf0
lea rcx, [r12 + 0xa0]
cmp eax, 0x7b
mov qword [rbp + 0x88], rcx
jne 0x1400d6d6b
mov rdi, qword [rcx]
mov rcx, r14
call fcn.1400c4cf0
mov ecx, 1
cmp eax, 0x80
jb 0x1400d6ac9
mov ecx, 2
cmp eax, 0x800
jb 0x1400d6ac9
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rdi, rcx
jb case.0x1400c9bd0.250
mov r13, qword [r12 + 0xb0]
inc r13
je 0x1400d759b
mov r15, qword [r12 + 0xa8]
mov rcx, r14
call fcn.1400c4cf0
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 0x1400d6bca
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 0x1400d6d0f
js 0x1400d7574
movzx eax, byte [0x1402ef241]
mov edx, 1
mov rcx, rbx
call fcn.140016e80
mov r14, rax
test rax, rax
jne 0x1400d6d15
mov ecx, 1
mov rdx, rbx
call fcn.1401e1980
jmp 0x1400d7695
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.1400c4e20
test al, al
je 0x1400d6e95
mov rcx, r14
call fcn.1400c4f50
mov rax, qword [rbp + 0x88]
cmp qword [rax], rbx
je 0x1400d6e95
mov rcx, r14
call fcn.1400c4cf0
cmp eax, 0x7d
je 0x1400d6e95
mov rcx, r14
call fcn.1400c4cf0
mov edi, eax
cmp eax, 0x80
jae 0x1400d6c50
mov rdx, qword [r12 + 0x98]
cmp rdx, qword [r12 + 0x90]
jne 0x1400d6c36
mov rcx, r15
call fcn.14000f8a0
mov rdx, qword [r12 + 0x98]
mov rax, qword [r12 + 0x88]
mov byte [rax + rdx], dil
inc qword [r12 + 0x98]
jmp 0x1400d6bca
mov dword [rbp + 0x10], 0
mov eax, edi
cmp edi, 0x800
jae 0x1400d6c80
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 0x1400d6ce0
cmp edi, 0x10000
jae 0x1400d6caf
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 0x1400d6ce0
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 0x1400d6ba8
mov rcx, r15
mov rdx, r13
mov r8, rdi
call fcn.1401da650
jmp 0x1400d6ba0
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.1400c4cf0
mov edi, eax
cmp eax, 0x5c
jne 0x1400d6f08
mov rax, qword [rbp + 0x88]
mov rdi, qword [rax]
mov rcx, r14
call fcn.1400c4cf0
mov ecx, 1
cmp eax, 0x80
jb 0x1400d6dc5
mov ecx, 2
cmp eax, 0x800
jb 0x1400d6dc5
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
add rdi, rcx
jb 0x1400d75b8
mov r13, qword [r12 + 0xb0]
inc r13
je 0x1400d75d5
mov r12, qword [r12 + 0xa8]
mov rcx, r14
call fcn.1400c4cf0
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 0x1400d6e57
mov byte [rbp + 0x88], dl
js 0x1400d761e
movzx eax, byte [0x1402ef241]
mov edx, 1
mov rcx, rbx
call fcn.140016e80
mov rdi, rax
test rax, rax
movzx edx, byte [rbp + 0x88]
je 0x1400d7625
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 0x1400d6fe5
mov rcx, qword [rbp + 0x88]
cmp qword [rcx], rbx
jne 0x1400d6f27
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 0x1400d6fb5
js 0x1400d7634
movzx eax, byte [0x1402ef241]
mov edx, 1
mov rcx, rbx
call fcn.140016e80
mov rdi, rax
test rax, rax
jne 0x1400d6fba
mov ecx, 1
mov rdx, rbx
call fcn.1401e1980
jmp 0x1400d7695
mov rcx, r14
call fcn.1400c4e20
lea r12, [rbp - 0x40]
test al, al
je 0x1400d6f20
mov rcx, r14
call fcn.1400c4f50
xor eax, eax
jmp 0x1400d7443
mov rcx, r14
call fcn.1400c4cf0
mov dword [rbp - 0x28], eax
cmp eax, 0x7d
jne 0x1400d75f2
mov rcx, r14
call fcn.1400c4e20
mov r14, qword [r12 + 0x88]
mov rbx, qword [r12 + 0x98]
mov qword [rsp + 0x20], 2
lea r9, [0x1401fac20]
lea rcx, [rbp + 0x10]
mov rdx, r14
mov r8, rbx
call fcn.1401ca760
cmp qword [rbp + 0x10], 0
je 0x1400d6ff0
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 0x1400d7032
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 0
lea rcx, [rbp - 0x28]
call fcn.1400c4590
jmp 0x1400d704a
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 0x1400d6d45
cmp byte [rbp + 0x2a], 0
jne 0x1400d720e
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 0x1400d717b
mov r8, rdx
sub r8, r15
jbe 0x1400d7175
cmp byte [rcx + r15], 0xc0
jge 0x1400d717b
jmp 0x1400d765f
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rax
mov byte [rsp + 0x30], 1
lea rcx, [rbp - 0x28]
call fcn.1400c4590
cmp qword [rbp - 0x28], 1
jne 0x1400d720e
mov r15, qword [rbp - 0x20]
test r15, r15
je 0x1400d708c
cmp r15, rbx
jae 0x1400d7093
cmp byte [r14 + r15], 0xbf
jg 0x1400d7095
lea rax, [0x1401fac28]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.1401e21a0
jmp 0x1400d7695
mov ecx, 1
jmp 0x1400d70be
jne 0x1400d706a
test r15, r15
js 0x1400d763b
movzx eax, byte [0x1402ef241]
mov edx, 1
mov rcx, r15
call fcn.140016e80
mov rcx, rax
test rax, rax
je 0x1400d7642
mov qword [rbp + 0x90], rcx
mov rdx, r14
mov r8, r15
call sub.VCRUNTIME140.dll_memcpy
lea rdi, [r15 + 2]
cmp rbx, rdi
jbe 0x1400d7109
cmp byte [r14 + rdi], 0xbf
jg 0x1400d710b
mov qword [rbp + 0x98], r15
lea rax, [0x1401fac40]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.1401e21a0
jmp 0x1400d7695
jne 0x1400d70e0
sub rbx, rdi
je 0x1400d714b
js 0x1400d7651
movzx eax, byte [0x1402ef241]
mov edx, 1
mov rcx, rbx
call fcn.140016e80
mov r13, rax
test rax, rax
jne 0x1400d7151
mov qword [rbp + 0x98], r15
mov ecx, 1
mov rdx, rbx
call fcn.1401e1980
jmp 0x1400d7695
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 0x1400d743c
jne 0x1400d765f
test r8, r8
je 0x1400d7193
movzx r10d, byte [rcx + r15]
movzx r9d, r10b
test r9b, r9b
js 0x1400d719d
mov r8d, r9d
jmp 0x1400d71f9
test al, al
jne 0x1400d7059
jmp 0x1400d720e
mov r8d, r9d
and r8d, 0x1f
movzx r11d, byte [rcx + r15 + 1]
and r11d, 0x3f
cmp r9b, 0xe0
jb 0x1400d71e9
movzx r9d, byte [rcx + r15 + 2]
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
cmp r10b, 0xf0
jb 0x1400d71f2
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 0x1400d71f9
shl r8d, 6
or r8d, r11d
jmp 0x1400d71f9
shl r8d, 0xc
or r8d, r9d
test al, al
jne 0x1400d7059
cmp r8d, 0x110000
jne 0x1400d74c3
xor edi, edi
mov rax, r14
mov r8, rbx
jmp 0x1400d722c
lea rax, [r14 + rdi]
mov r8, rbx
sub r8, rdi
jb 0x1400d7296
cmp r8, 0x10
jae 0x1400d7260
xor edx, edx
test r8, r8
je 0x1400d7251
nop dword [rax]
cmp byte [rax + rdx], 0x3a
je 0x1400d728b
inc rdx
cmp r8, rdx
jne 0x1400d7240
mov rdx, r8
xor eax, eax
cmp rax, 1
je 0x1400d7270
jmp 0x1400d7296
mov cl, 0x3a
mov rdx, rax
call fcn.1401c9c30
cmp rax, 1
jne 0x1400d7296
lea r15, [rdx + rdi]
add rdi, rdx
inc rdi
cmp r15, rbx
jae 0x1400d7220
cmp byte [r14 + r15], 0x3a
jne 0x1400d7220
jmp 0x1400d732b
mov eax, 1
cmp rax, 1
je 0x1400d7270
mov rcx, r14
mov rdx, rbx
mov r8d, 0x3d
call fcn.1400c44d0
cmp rax, 1
jne 0x1400d72ef
mov r15, rdx
test rdx, rdx
je 0x1400d739f
cmp r15, rbx
jae 0x1400d7399
cmp byte [r14 + r15], 0xbf
jg 0x1400d739f
lea rax, [0x1401fac70]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
xor r8d, r8d
mov r9, r15
call fcn.1401e21a0
jmp 0x1400d7695
mov rcx, rbx
xor edx, edx
call fcn.1400ea740
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 0x1400d7443
mov rcx, r15
xor edx, edx
call fcn.1400ea740
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 0x1400d7368
cmp byte [r14 + rdi], 0xbf
jle 0x1400d7678
mov rcx, r12
xor edx, edx
call fcn.1400ea740
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 0x1400d7435
jne 0x1400d72cd
mov rcx, r15
xor edx, edx
call fcn.1400ea740
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 0x1400d73d6
mov r12, rbx
jmp 0x1400d7409
mov r12, rbx
sub r12, rdi
jbe 0x1400d7407
cmp byte [r14 + rdi], 0xbf
jg 0x1400d7409
lea rax, [0x1401fac88]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.1401e21a0
jmp 0x1400d7695
jne 0x1400d73e5
mov rcx, r12
xor edx, edx
call fcn.1400ea740
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 0x1400d6d4d
mov eax, 1
cmp r8d, 0x80
jb 0x1400d74ef
mov eax, 2
cmp r8d, 0x800
jb 0x1400d74ef
cmp r8d, 0x10000
mov eax, 4
sbb rax, 0
add r15, rax
je 0x1400d7508
mov rax, rdx
sub rax, r15
jbe 0x1400d750d
cmp byte [rcx + r15], 0xbf
jg 0x1400d7513
jmp 0x1400d765f
mov rax, rdx
jmp 0x1400d7513
jne 0x1400d765f
test rax, rax
je 0x1400d7059
movzx eax, byte [rcx + r15]
test al, al
jns 0x1400d7059
cmp al, 0xe0
jmp 0x1400d7059
lea rax, [0x1401fac08]
mov qword [rsp + 0x20], rax
lea rcx, str.already_borrowedC:Users_admin.JUPITERSERVERS.cargo_registry_srcindex.crates.io_6f17d22bba15001f_regex_syntax_0.8.2_src_astparse.rs
lea r9, fcn.140001910
lea r8, [rbp + 0x10]
mov edx, 0x10
call fcn.1401e1f10
ud2
lea rcx, str.assertion_failed:_self.char____p__self.char____P
lea r8, [0x1401facf8]
adc al, byte [rax]
call fcn.1401c2890
jmp 0x1400d7695
lea rcx, [0x1401fa2d0]
lea r8, [0x1401fa3e8]
mov edx, 0x2b
call fcn.1401e1be0
jmp 0x1400d7695
lea rcx, [0x1401fa2d0]
lea r8, [0x1401fa3d0]
mov edx, 0x2b
call fcn.1401e1be0
jmp 0x1400d7695
lea rcx, [0x1401fa2d0]
mov qword [rbp + 0x10], 0
lea rax, [0x1401faca0]
call fcn.1401c2890
jmp 0x1400d7695
mov ecx, 1
mov rdx, rbx
call fcn.1401e1980
jmp 0x1400d7695
call fcn.1401c2890
jmp 0x1400d7695
mov ecx, 1
mov rdx, r15
call fcn.1401e1980
jmp 0x1400d7695
mov qword [rbp + 0x98], r15
call fcn.1401c2890
jmp 0x1400d7695
mov r8, r15
lea rax, [0x1401fa178]
mov qword [rsp + 0x20], rax
mov r9, rdx
call fcn.1401e21a0
jmp 0x1400d7695
lea rax, [0x1401fac58]
mov qword [rsp + 0x20], rax
mov rcx, r14
mov rdx, rbx
mov r8, rdi
mov r9, rbx
call fcn.1401e21a0