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

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov r12d, dword [rsp + 0x80]
xor ebx, ebx
mov eax, r12d
mov r13, r8
and eax, 0xfffffff9
mov r15, r9
mov r8, rdx
mov r14, rcx
mov esi, ebx
mov ebp, ebx
mov edi, ebx
cmp eax, 1
je 0x180173daa
call fcn.180174dd0
mov r8, qword [rsp + 0x68]
movabs rax, 0xaaaaaaaaaaaaaaab
mov rcx, r15
mul r15
shr rdx, 1
lea rax, [rdx + rdx*2]
lea r11, [rdx*4]
mov qword [rsp + 0x60], r11
sub rcx, rax
je 0x180173dee
test r12b, 2
jne 0x180173ddf
add r11, 4
jmp 0x180173de9
shr rcx, 1
add r11, 2
add r11, rcx
mov qword [rsp + 0x60], r11
cmp r8, r11
ja 0x180173dfd
call fcn.180174dd0
mov r11, qword [rsp + 0x60]
and r12d, 4
test r15, r15
je 0x180174062
test r12d, r12d
je 0x180173f30
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r13 + rbp]
add rbx, 8
shl edi, 8
inc rbp
add edi, eax
cmp rbx, 6
jb 0x180173ec7
nop dword [rax]
sub rbx, 6
mov r10d, edi
mov rcx, rbx
shr r10d, cl
and r10d, 0x3f
lea eax, [r10 - 4]
lea r8d, [r10 - 0x3e]
shr r8d, 8
lea edx, [r10 - 0x34]
and r8b, al
shr edx, 8
lea r9d, [r10 - 0x1a]
movzx eax, dl
not al
shr r9d, 8
and r8b, al
lea ecx, [r10 + 0x47]
mov eax, r10d
xor eax, 0x3f
neg eax
shr eax, 8
not al
and al, 0x5f
or r8b, al
mov eax, r10d
xor eax, 0x3e
add r10b, 0x41
neg eax
and r10b, r9b
shr eax, 8
not al
and al, 0x2d
or r8b, al
movzx eax, r9b
not al
and cl, al
and cl, dl
or r8b, cl
or r8b, r10b
mov byte [rsi + r14], r8b
inc rsi
cmp rbx, 6
jae 0x180173e40
cmp rbp, r15
jb 0x180173e20
test rbx, rbx
je 0x180174062
mov ecx, 6
sub cl, bl
shl edi, cl
and edi, 0x3f
lea eax, [rdi - 4]
lea r8d, [rdi - 0x3e]
shr r8d, 8
lea edx, [rdi - 0x34]
and r8b, al
shr edx, 8
movzx eax, dl
lea r9d, [rdi - 0x1a]
not al
shr r9d, 8
and r8b, al
mov eax, edi
xor eax, 0x3f
neg eax
shr eax, 8
not al
and al, 0x5f
or r8b, al
mov eax, edi
xor eax, 0x3e
neg eax
shr eax, 8
not al
and al, 0x2d
or r8b, al
jmp 0x180174041
movzx eax, byte [r13 + rbp]
add rbx, 8
shl edi, 8
inc rbp
add edi, eax
cmp rbx, 6
jb 0x180173fdc
nop dword [rax]
sub rbx, 6
mov r10d, edi
mov rcx, rbx
shr r10d, cl
and r10d, 0x3f
mov r8d, r10d
mov eax, r10d
xor r8d, 0x3e
xor eax, 0x3f
neg r8d
neg eax
shr r8d, 8
lea ecx, [r10 - 0x3e]
shr eax, 8
lea edx, [r10 - 0x34]
not r8b
shr ecx, 8
and r8b, 0xfb
shr edx, 8
not al
lea r9d, [r10 - 0x1a]
or r8b, al
shr r9d, 8
lea eax, [r10 - 4]
and r8b, 0x2f
and cl, al
movzx eax, dl
not al
and cl, al
movzx eax, r9b
or r8b, cl
not al
lea ecx, [r10 + 0x47]
add r10b, 0x41
and cl, al
and r10b, r9b
and cl, dl
or r8b, cl
or r8b, r10b
mov byte [rsi + r14], r8b
inc rsi
cmp rbx, 6
jae 0x180173f50
cmp rbp, r15
jb 0x180173f30
test rbx, rbx
je 0x180174062
mov ecx, 6
sub cl, bl
shl edi, cl
and edi, 0x3f
mov r8d, edi
mov eax, edi
xor r8d, 0x3e
xor eax, 0x3f
neg r8d
neg eax
shr r8d, 8
lea ecx, [rdi - 0x3e]
shr eax, 8
lea edx, [rdi - 0x34]
not r8b
shr ecx, 8
not al
shr edx, 8
and r8b, 0xfb
lea r9d, [rdi - 0x1a]
or r8b, al
shr r9d, 8
lea eax, [rdi - 4]
and r8b, 0x2f
and cl, al
movzx eax, dl
not al
and cl, al
or r8b, cl
lea ecx, [rdi + 0x47]
movzx eax, r9b
add dil, 0x41
not al
and cl, al
and dil, r9b
and cl, dl
or r8b, cl
or r8b, dil
mov byte [rsi + r14], r8b
inc rsi
cmp rsi, r11
jae 0x18017407b
mov r8, r11
lea rcx, [r14 + rsi]
sub r8, rsi
mov dl, 0x3d
mov rsi, r11
call sub.VCRUNTIME140.dll_memset
mov rax, qword [rsp + 0x68]
mov byte [rsi + r14], 0
inc rsi
cmp rsi, rax
jb 0x180174080
mov rbx, qword [rsp + 0x70]
mov rax, r14
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret