Function at 0x140014510
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push rdi
sub rsp, 0x10
mov rdi, rcx
mov rax, rcx
sar rdi, 0x39
test edi, edi
jns 0x14001452c
xor eax, eax
add rsp, 0x10
pop rdi
ret
cmp edi, 0x3f
jl 0x140014541
movabs rax, 0x7fffffffffffffff
add rsp, 0x10
pop rdi
ret
movsxd rcx, edi
shl rcx, 0x39
mov qword [rsp + 8], r14
mov r14d, VarI4FromDisp
sub rax, rcx
je 0x1400147fc
shl rax, 5
lea r11, [0x1400c3a50]
mov rcx, rax
mov qword [rsp + 0x20], rbx
shr rcx, 0x3f
lea r9, [0x1400c3a68]
neg ecx
mov qword [rsp + 0x30], rsi
movsxd rdx, ecx
movabs r10, 0x1351e87200eec236
add r10, rdx
movabs rcx, 0x26a3d0e401dd846d
xor r10, rdx
mov ebx, 1
add r10, rcx
movabs rcx, 0x32b803473f7ad0f4
add rcx, rdx
xor rcx, rdx
sub rax, rcx
nop dword [rax]
add rax, rax
inc ebx
mov rcx, rax
add r11, 8
shr rcx, 0x3f
mov rdx, r10
neg ecx
movsxd r8, ecx
mov ecx, ebx
sar rdx, cl
mov rcx, qword [r11]
add rdx, r8
add rcx, r8
xor rdx, r8
xor rcx, r8
add r10, rdx
sub rax, rcx
cmp r11, r9
jl 0x1400145c0
mov rcx, rax
lea rbx, [0x1400c3ab0]
shr rcx, 0x3f
mov r11d, 4
neg ecx
movsxd rdx, ecx
mov rcx, r10
sar rcx, 4
add rcx, rdx
xor rcx, rdx
add r10, rcx
movabs rcx, 0x2e39fb9198ce62e4
add rcx, rdx
xor rcx, rdx
sub rax, rcx
nop dword [rax]
nop word [rax + rax]
add rax, rax
inc r11d
mov rcx, rax
mov rdx, r10
shr rcx, 0x3f
add r9, 8
neg ecx
movsxd r8, ecx
mov ecx, r11d
sar rdx, cl
add rdx, r8
xor rdx, r8
add r10, rdx
mov rdx, qword [r9]
add rdx, r8
xor rdx, r8
sub rax, rdx
cmp r9, rbx
jl 0x140014640
mov r9d, ntohs
lea rsi, [0x1400c3b50]
lea r11d, [r9 + 0x13]
nop word [rax + rax]
mov rcx, rax
mov rdx, r10
shr rcx, 0x3f
neg ecx
movsxd r8, ecx
mov ecx, r9d
sar rdx, cl
inc r9d
mov rcx, qword [rbx]
add rdx, r8
add rcx, r8
xor rdx, r8
xor rcx, r8
add r10, rdx
sub rax, rcx
add rbx, 8
add rax, rax
cmp rbx, rsi
jl 0x140014690
xor esi, esi
mov ebx, esi
cmp edi, 0x1e
jle 0x1400147e9
mov rcx, rax
mov qword [rsp + 0x28], rbp
shr rcx, 0x3f
mov rbx, r10
neg ecx
sar rbx, 0x20
add ebx, ecx
movsxd rdx, ecx
xor ebx, ecx
mov qword [rsp], r15
movabs r15, 0x2e2a8eca5705fc2f
lea rcx, [rdx + r15]
xor rcx, rdx
sub rax, rcx
nop word [rax + rax]
add rax, rax
inc r11d
mov r9, rax
mov ecx, r11d
shr r9, 0x3f
mov rdx, r10
sar rdx, cl
neg r9d
movsxd r8, r9d
add edx, r9d
xor edx, r9d
add ebx, edx
lea rcx, [r8 + r15]
xor rcx, r8
sub rax, rcx
cmp r11d, 0x27
jl 0x140014710
mov ecx, r14d
mov ebp, esi
sub ecx, r11d
cmp ecx, 2
jl 0x1400147c6
nop dword [rax]
nop word [rax + rax]
mov r9, rax
mov ecx, r11d
shr r9, 0x3f
mov rdx, r10
sar rdx, cl
neg r9d
add edx, r9d
movsxd r8, r9d
xor edx, r9d
add ebp, edx
mov rdx, r10
lea rcx, [r8 + r15]
xor rcx, r8
sub rax, rcx
lea ecx, [r11 + 1]
sar rdx, cl
add rax, rax
mov r9, rax
add r11d, 2
shr r9, 0x3f
neg r9d
movsxd r8, r9d
add edx, r9d
xor edx, r9d
add esi, edx
lea rcx, [r8 + r15]
xor rcx, r8
sub rax, rcx
add rax, rax
cmp r11d, 0x3c
jl 0x140014760
cmp r11d, r14d
jge 0x1400147db
shr rax, 0x3f
mov rdx, r10
neg eax
mov ecx, r11d
sar rdx, cl
add edx, eax
xor edx, eax
add ebx, edx
mov r15, qword [rsp]
lea eax, [rsi + rbp]
mov rbp, qword [rsp + 0x28]
add ebx, eax
mov rsi, qword [rsp + 0x30]
movsxd rax, ebx
mov rbx, qword [rsp + 0x20]
lea rax, [rax + r10*2]
jmp 0x140014806
movabs rax, 0x4000000000000000
cmp edi, 0x3e
jge 0x14001481b
sub r14d, edi
movzx ecx, r14b
sar rax, cl
inc rax
sar rax, 1
mov r14, qword [rsp + 8]
add rsp, 0x10
pop rdi
ret