Function at 0x18019e580
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov rdi, rcx
xor esi, esi
mov dword [rsp + 0x24], esi
mov r14, rdx
cmp qword [rdx + 0x18], 0xf
jbe 0x18019e5ab
mov r14, qword [rdx]
mov r15d, dword [rdx + 0x10]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], 0xf
mov byte [rcx], sil
mov dword [rsp + 0x24], 1
mov ebp, esi
test r15d, r15d
je 0x18019e953
mov rcx, rsi
movzx ebx, byte [rsp + 0x80]
dec r15d
movzx eax, byte [r14]
lea r14, [r14 + 1]
mov byte [rsp + rcx + 0x98], al
inc ebp
inc rcx
movzx r8d, byte [rsp + 0x9a]
movzx r12d, byte [rsp + 0x99]
movzx r13d, byte [rsp + 0x98]
cmp rcx, 3
jne 0x18019e7ee
movzx eax, r13b
shr al, 2
movzx ecx, al
mov byte [rsp + 0x20], cl
movzx ebp, r13b
and bpl, 3
shl bpl, 4
movzx eax, r12b
shr al, 4
add bpl, al
movzx edx, r12b
and dl, 0xf
shl dl, 2
movzx eax, r8b
shr al, 6
add dl, al
mov byte [rsp + 0x88], dl
movzx eax, r8b
and al, 0x3f
mov byte [rsp + 0x90], al
lea rax, [0x180ae6b28]
cmp qword [0x180ae6b40], 0xf
cmova rax, qword [0x180ae6b28]
movzx r9d, byte [rcx + rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18019e6b1
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x18019e6a6
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x18019e6c2
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180045200
lea rcx, [0x180ae6b28]
cmp qword [0x180ae6b40], 0xf
cmova rcx, qword [0x180ae6b28]
movzx eax, bpl
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18019e70e
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x18019e703
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x18019e71f
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180045200
lea rbp, [0x180ae6b28]
mov rcx, rbp
cmp qword [0x180ae6b40], 0xf
cmova rcx, qword [0x180ae6b28]
movzx eax, byte [rsp + 0x88]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18019e772
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x18019e767
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x18019e783
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180045200
mov rcx, rbp
cmp qword [0x180ae6b40], 0xf
cmova rcx, qword [0x180ae6b28]
movzx eax, byte [rsp + 0x90]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18019e7cf
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x18019e7c4
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x18019e7e0
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180045200
mov ebp, esi
mov rcx, rsi
movzx r8d, byte [rsp + 0x9a]
test r15d, r15d
jne 0x18019e5e2
test ebp, ebp
je 0x18019e953
movsxd rax, ebp
cmp rax, 3
jge 0x18019e83a
jae 0x18019e967
mov byte [rsp + rax + 0x98], 0
inc rax
cmp rax, 3
jl 0x18019e808
movzx r8d, byte [rsp + 0x9a]
movzx r12d, byte [rsp + 0x99]
movzx r13d, byte [rsp + 0x98]
movzx eax, r13b
shr al, 2
mov byte [rsp + 0x20], al
and r13b, 3
shl r13b, 4
movzx eax, r12b
shr al, 4
add r13b, al
mov byte [rsp + 0x21], r13b
and r12b, 0xf
shl r12b, 2
movzx eax, r8b
shr al, 6
add r12b, al
mov byte [rsp + 0x22], r12b
and r8b, 0x3f
mov byte [rsp + 0x23], r8b
lea eax, [rbp + 1]
movsxd r14, eax
test eax, eax
jle 0x18019e8f6
movzx ebx, byte [rsp + 0x80]
nop
lea rcx, [0x180ae6b28]
cmp qword [0x180ae6b40], 0xf
cmova rcx, qword [0x180ae6b28]
movzx eax, byte [rsp + rsi + 0x20]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18019e8dd
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x18019e8d2
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x18019e8ee
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180045200
inc rsi
cmp rsi, r14
jl 0x18019e890
cmp ebp, 3
jge 0x18019e953
mov esi, 3
sub esi, ebp
movzx ebx, byte [rsp + 0x80]
nop word [rax + rax]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x18019e939
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0xf
jbe 0x18019e931
mov rax, qword [rdi]
mov word [rax + rcx], 0x3d
jmp 0x18019e94d
mov r9b, 0x3d
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.180045200
sub rsi, 1
jne 0x18019e910
mov rax, rdi
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.180342eb0
int3