Function at 0x6ecbc0
Capabilities:
Encode data using base64

Disassembly:
push rbp
sub rsp, 0x30
mov rbp, rsp
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rdx
mov dword [rbp + 0x50], r8d
mov dword [rbp + 0x2c], 0
mov eax, dword [rbp + 0x50]
mov dword [rbp + 0x28], eax
jmp 0x6ecbe7
add dword [rbp + 0x28], 1
mov ecx, 3
mov eax, dword [rbp + 0x28]
cdq
idiv ecx
test edx, edx
jg 0x6ecbe3
mov ecx, 3
mov eax, dword [rbp + 0x28]
cdq
idiv ecx
add eax, eax
add eax, eax
mov dword [rbp + 0x28], eax
mov rcx, qword [rbp + 0x40]
mov edx, dword [rbp + 0x28]
xor r8, r8
call fcn.00411920
mov dword [rbp + 0x28], 0
mov eax, dword [rbp + 0x2c]
cmp eax, dword [rbp + 0x50]
jge 0x6ece67
add dword [rbp + 0x28], 1
mov rcx, qword [rbp + 0x40]
call fcn.00410ef0
movsxd rcx, dword [rbp + 0x28]
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov r8, qword [rbp + 0x48]
movsxd r9, dword [rbp + 0x2c]
movzx r8, byte [r8 + r9]
and r8b, 0xfc
movzx r8, r8b
shr r8d, 2
mov r8d, r8d
movzx rdx, byte [rdx + r8]
mov byte [rax + rcx - 1], dl
mov eax, dword [rbp + 0x2c]
add eax, 1
cmp eax, dword [rbp + 0x50]
jge 0x6ecdee
add dword [rbp + 0x28], 1
mov rcx, qword [rbp + 0x40]
call fcn.00410ef0
movsxd rcx, dword [rbp + 0x28]
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov r8, qword [rbp + 0x48]
movsxd r9, dword [rbp + 0x2c]
movzx r8, byte [r8 + r9]
and r8b, 3
movzx r8, r8b
shl r8d, 4
mov r9, qword [rbp + 0x48]
mov r10d, dword [rbp + 0x2c]
add r10d, 1
movsxd r10, r10d
movzx r9, byte [r9 + r10]
and r9b, 0xf0
movzx r9, r9b
shr r9d, 4
add r8d, r9d
mov r8d, r8d
movzx rdx, byte [rdx + r8]
mov byte [rax + rcx - 1], dl
mov eax, dword [rbp + 0x2c]
add eax, 2
cmp eax, dword [rbp + 0x50]
jge 0x6ecd90
add dword [rbp + 0x28], 1
mov rcx, qword [rbp + 0x40]
call fcn.00410ef0
movsxd rcx, dword [rbp + 0x28]
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov r8, qword [rbp + 0x48]
mov r9d, dword [rbp + 0x2c]
add r9d, 1
movsxd r9, r9d
movzx r8, byte [r8 + r9]
and r8b, 0xf
movzx r8, r8b
add r8d, r8d
add r8d, r8d
mov r9, qword [rbp + 0x48]
mov r10d, dword [rbp + 0x2c]
add r10d, 2
movsxd r10, r10d
movzx r9, byte [r9 + r10]
and r9b, 0xc0
movzx r9, r9b
shr r9d, 6
add r8d, r9d
mov r8d, r8d
movzx rdx, byte [rdx + r8]
mov byte [rax + rcx - 1], dl
add dword [rbp + 0x28], 1
mov rcx, qword [rbp + 0x40]
call fcn.00410ef0
movsxd rcx, dword [rbp + 0x28]
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov r8, qword [rbp + 0x48]
mov r9d, dword [rbp + 0x2c]
add r9d, 2
movsxd r9, r9d
movzx r8, byte [r8 + r9]
and r8b, 0x3f
movzx r8, r8b
movzx rdx, byte [rdx + r8]
mov byte [rax + rcx - 1], dl
jmp 0x6ece57
add dword [rbp + 0x28], 1
mov rcx, qword [rbp + 0x40]
call fcn.00410ef0
movsxd rcx, dword [rbp + 0x28]
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov r8, qword [rbp + 0x48]
mov r9d, dword [rbp + 0x2c]
add r9d, 1
movsxd r9, r9d
movzx r8, byte [r8 + r9]
and r8b, 0xf
movzx r8, r8b
add r8d, r8d
add r8d, r8d
mov r8d, r8d
movzx rdx, byte [rdx + r8]
mov byte [rax + rcx - 1], dl
add dword [rbp + 0x28], 1
mov rcx, qword [rbp + 0x40]
call fcn.00410ef0
movsxd rcx, dword [rbp + 0x28]
mov byte [rax + rcx - 1], 0x3d
jmp 0x6ece57
add dword [rbp + 0x28], 1
mov rcx, qword [rbp + 0x40]
call fcn.00410ef0
movsxd rcx, dword [rbp + 0x28]
lea rdx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov r8, qword [rbp + 0x48]
movsxd r9, dword [rbp + 0x2c]
movzx r8, byte [r8 + r9]
and r8b, 3
movzx r8, r8b
shl r8d, 4
mov r8d, r8d
movzx rdx, byte [rdx + r8]
mov byte [rax + rcx - 1], dl
add dword [rbp + 0x28], 1
mov rcx, qword [rbp + 0x40]
call fcn.00410ef0
movsxd rcx, dword [rbp + 0x28]
mov byte [rax + rcx - 1], 0x3d
add dword [rbp + 0x28], 1
mov rcx, qword [rbp + 0x40]
call fcn.00410ef0
movsxd rcx, dword [rbp + 0x28]
mov byte [rax + rcx - 1], 0x3d
add dword [rbp + 0x2c], 3
mov eax, dword [rbp + 0x2c]
cmp eax, dword [rbp + 0x50]
jl 0x6ecc2a
nop
mov rax, qword [rbp + 0x40]
lea rsp, [rbp + 0x30]
pop rbp
ret