Function at 0x14013e360
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
mov qword [rsp + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword [0x14043c0c0]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
xor eax, eax
mov dword [rsp + 0x20], eax
mov r12d, eax
mov ebp, eax
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], rax
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rcx], al
mov dword [rsp + 0x20], 1
mov rax, r8
sub rax, rdx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [0x14040d4f0]
xor eax, eax
movsd xmm1, qword [0x14040d568]
comisd xmm0, xmm1
jb 0x14013e3fd
subsd xmm0, xmm1
comisd xmm0, xmm1
jae 0x14013e3fd
movabs rcx, 0x8000000000000000
mov rax, rcx
cvttsd2si rdx, xmm0
add rdx, rax
mov rcx, rsi
call fcn.14011cf60
cmp rbx, rdi
je 0x14013e666
movabs rax, 0xaaaaaaaaaaaaaaab
lea r13, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop word [rax + rax]
mul r12
shr rdx, 1
lea rax, [rdx + rdx*2]
sub rax, r12
lea r15, [rax*8 + 0x10]
movzx eax, byte [rbx]
mov rcx, r15
shl eax, cl
add ebp, eax
cmp r15, 0x10
jne 0x14013e49f
mov eax, ebp
shr rax, 0x12
and eax, 0x3f
mov rdx, qword [rsi + 0x18]
mov rcx, qword [rsi + 0x10]
cmp rcx, rdx
movzx r9d, byte [rax + r13]
jae 0x14013e492
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0xf
jbe 0x14013e484
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14013e544
mov rcx, rsi
call fcn.140120320
jmp 0x14013e544
cmp r15, 8
jne 0x14013e4ad
mov eax, ebp
shr rax, 0xc
jmp 0x14013e45b
test r15, r15
jne 0x14013e544
cmp r12, 3
je 0x14013e544
mov r14d, ebp
mov eax, ebp
shr rax, 6
and eax, 0x3f
movzx r9d, byte [rax + r13]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x14013e4fd
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0xf
jbe 0x14013e4f2
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14013e505
mov rcx, rsi
call fcn.140120320
and r14d, 0x3f
movzx r9d, byte [r14 + r13]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x14013e53a
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0xf
jbe 0x14013e52f
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14013e542
mov rcx, rsi
call fcn.140120320
xor ebp, ebp
inc r12
inc rbx
cmp rbx, rdi
movabs rax, 0xaaaaaaaaaaaaaaab
jne 0x14013e430
cmp r15, 0x10
jne 0x14013e606
mov eax, ebp
shr rax, 0xc
and eax, 0x3f
movzx r9d, byte [rax + r13]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x14013e5a1
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0xf
jbe 0x14013e596
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14013e5a9
mov rcx, rsi
call fcn.140120320
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x14013e5d2
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0xf
jbe 0x14013e5ca
mov rax, qword [rsi]
mov word [rax + rcx], 0x3d
jmp 0x14013e5dd
mov r9b, 0x3d
mov rcx, rsi
call fcn.140120320
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x14013e65b
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0xf
jbe 0x14013e5fe
mov rax, qword [rsi]
mov word [rax + rcx], 0x3d
jmp 0x14013e666
cmp r15, 8
jne 0x14013e666
mov eax, ebp
shr rax, 6
and eax, 0x3f
movzx r9d, byte [rax + r13]
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jae 0x14013e646
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp rdx, 0xf
jbe 0x14013e63b
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14013e64e
mov rcx, rsi
call fcn.140120320
mov rcx, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
cmp rcx, rdx
jb 0x14013e5ea
mov r9b, 0x3d
mov rcx, rsi
call fcn.140120320
mov rax, rsi
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.140154c90
mov rbx, qword [rsp + 0x68]
mov rbp, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret