Function at 0x140196684
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x38
mov r12, r8
mov rbx, rcx
and dword [rbp - 0x18], 0
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
and qword [rcx + 0x10], 0
and qword [rcx + 0x10], 0
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], 0
mov dword [rbp - 0x18], 1
xor edi, edi
xor ecx, ecx
lea esi, [rdi + 3]
dec r12
mov al, byte [rdx]
inc rdx
mov qword [rbp + 0x50], rdx
mov byte [rbp + rcx + 0x58], al
inc edi
inc rcx
mov r13b, byte [rbp + 0x5a]
mov r14b, byte [rbp + 0x59]
mov r15b, byte [rbp + 0x58]
cmp rcx, rsi
jne 0x1401967a0
mov al, r15b
shr al, 2
mov byte [rbp + 0x60], al
mov cl, r15b
and cl, sil
shl cl, 4
mov al, r14b
shr al, 4
add cl, al
mov byte [rbp + 0x61], cl
mov cl, r14b
and cl, 0xf
shl cl, 2
mov al, r13b
shr al, 6
add cl, al
mov byte [rbp + 0x62], cl
mov al, r13b
and al, 0x3f
mov byte [rbp + 0x63], al
xor edi, edi
lea rcx, [0x140fe4758]
cmp qword [0x140fe4770], 0xf
cmova rcx, qword [0x140fe4758]
movzx eax, byte [rbp + rdi + 0x60]
mov r9b, byte [rax + rcx]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x14019677e
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140196773
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14019678f
mov r8b, byte [rbp + 0x48]
mov edx, 1
mov rcx, rbx
call fcn.14015a2b8
inc rdi
cmp rdi, 4
jl 0x140196734
xor edi, edi
xor ecx, ecx
mov rdx, qword [rbp + 0x50]
test r12, r12
jne 0x1401966cf
test edi, edi
je 0x1401968ce
cmp edi, esi
jge 0x1401967d9
mov eax, esi
sub eax, edi
movsxd r8, eax
movsxd rax, edi
lea rcx, [rbp + 0x58]
add rcx, rax
xor edx, edx
call fcn.140cfbde0
mov r13b, byte [rbp + 0x5a]
mov r14b, byte [rbp + 0x59]
mov r15b, byte [rbp + 0x58]
mov al, r15b
shr al, 2
mov byte [rbp + 0x60], al
and r15b, sil
shl r15b, 4
mov al, r14b
shr al, 4
add r15b, al
mov byte [rbp + 0x61], r15b
and r14b, 0xf
shl r14b, 2
mov al, r13b
shr al, 6
add r14b, al
mov byte [rbp + 0x62], r14b
and r13b, 0x3f
mov byte [rbp + 0x63], r13b
xor r14d, r14d
lea eax, [rdi + 1]
movsxd r15, eax
test eax, eax
jle 0x140196884
lea rcx, [0x140fe4758]
cmp qword [0x140fe4770], 0xf
cmova rcx, qword [0x140fe4758]
movzx eax, byte [rbp + r14 + 0x60]
mov r9b, byte [rax + rcx]
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x14019686b
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x140196860
mov rax, qword [rbx]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14019687c
mov r8b, byte [rbp + 0x48]
mov edx, 1
mov rcx, rbx
call fcn.14015a2b8
inc r14
cmp r14, r15
jl 0x140196820
cmp edi, esi
jge 0x1401968ce
sub esi, edi
movsxd rdi, esi
mov rcx, qword [rbx + 0x10]
cmp rcx, qword [rbx + 0x18]
jae 0x1401968b4
lea rax, [rcx + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp qword [rbx + 0x18], 0xf
jbe 0x1401968ac
mov rax, qword [rbx]
mov word [rax + rcx], 0x3d
jmp 0x1401968c8
mov r9b, 0x3d
mov r8b, byte [rbp + 0x48]
mov edx, 1
mov rcx, rbx
call fcn.14015a2b8
sub rdi, 1
jne 0x14019688d
mov rax, rbx
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret