Function at 0x14015a740
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0xc8
mov rax, qword [0x14033ee00]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x30], 0
mov qword [rsp + 0x40], 0
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x48], rax
movzx edx, byte [rsp + 0x27]
mov rcx, qword [rsp + 0x48]
call fcn.140083f60
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x90], rax
mov rcx, qword [rsp + 0xd0]
call fcn.140081f80
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x98], rax
mov eax, dword [rsp + 0x30]
or eax, 1
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0xe0]
mov qword [rsp + 0xa8], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0xa8]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x50], rax
cvtsi2sd xmm0, qword [rsp + 0x50]
movsd xmm1, qword [0x1402121a8]
mulsd xmm1, xmm0
movaps xmm0, xmm1
xor eax, eax
comisd xmm0, xmmword [0x1401ee600]
jb 0x14015a85a
subsd xmm0, qword [0x1401ee600]
comisd xmm0, xmmword [0x1401ee600]
jae 0x14015a85a
movabs rcx, 0x8000000000000000
add rax, rcx
cvttsd2si rcx, xmm0
add rcx, rax
mov rax, rcx
mov rdx, rax
mov rcx, qword [rsp + 0xd0]
call fcn.1401df0a0
mov rax, qword [rsp + 0xe0]
cmp qword [rsp + 0xd8], rax
jne 0x14015a891
mov dword [rsp + 0x34], 1
jmp 0x14015a899
mov dword [rsp + 0x34], 0
movzx eax, byte [rsp + 0x34]
mov byte [rsp + 0x24], al
movzx eax, byte [rsp + 0x24]
test eax, eax
jne 0x14015a8b5
mov dword [rsp + 0x38], 1
jmp 0x14015a8bd
mov dword [rsp + 0x38], 0
movzx eax, byte [rsp + 0x38]
mov byte [rsp + 0x25], al
movzx eax, byte [rsp + 0x25]
test eax, eax
je 0x14015aa40
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x58]
movzx eax, byte [rax]
mov byte [rsp + 0x26], al
xor edx, edx
mov rax, qword [rsp + 0x40]
mov ecx, 3
div rcx
mov rax, rdx
shl rax, 3
mov ecx, reloc.WS2_32.dll_recv
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
movzx eax, byte [rsp + 0x26]
mov rcx, qword [rsp + 0x28]
shl eax, cl
mov ecx, dword [rsp + 0x20]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x20], eax
cmp qword [rsp + 0x28], 0x10
jne 0x14015a965
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 0x12
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xd0]
call fcn.140082120
cmp qword [rsp + 0x28], 8
jne 0x14015a9a0
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 0xc
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xd0]
call fcn.140082120
cmp qword [rsp + 0x28], 0
jne 0x14015aa1b
cmp qword [rsp + 0x40], 3
je 0x14015aa1b
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 6
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xd0]
call fcn.140082120
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xd0]
call fcn.140082120
mov dword [rsp + 0x20], 0
mov rax, qword [rsp + 0x40]
inc rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0xd8]
inc rax
mov qword [rsp + 0xd8], rax
jmp 0x14015a875
cmp qword [rsp + 0x28], 0x10
jne 0x14015aa9f
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 0xc
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xd0]
call fcn.140082120
mov dl, 0x3d
mov rcx, qword [rsp + 0xd0]
call fcn.140082120
mov dl, 0x3d
mov rcx, qword [rsp + 0xd0]
call fcn.140082120
cmp qword [rsp + 0x28], 8
jne 0x14015aaef
lea rax, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov ecx, dword [rsp + 0x20]
shr ecx, 6
and ecx, 0x3f
mov ecx, ecx
mov rax, qword [rax]
add rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
movzx edx, byte [rax]
mov rcx, qword [rsp + 0xd0]
call fcn.140082120
mov dl, 0x3d
mov rcx, qword [rsp + 0xd0]
call fcn.140082120
mov rax, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1401e0060
add rsp, 0xc8
ret