Function at 0x140021a74
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x90
mov rax, qword [0x14069f448]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rdi, r8
mov rbx, rdx
mov rsi, rcx
mov qword [rbp - 0x29], rcx
and dword [rbp - 0x31], 0
movdqa xmm0, xmmword [0x140224e70]
movdqa xmmword [rbp - 0x19], xmm0
movdqa xmm1, xmmword [0x140224e80]
movdqa xmmword [rbp - 9], xmm1
movdqa xmm0, xmmword [0x140224e90]
movdqa xmmword [rbp + 7], xmm0
movdqa xmm1, xmmword [str.wxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv]
movdqa xmmword [rbp + 0x17], xmm1
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
and qword [rcx + 0x10], 0
and qword [rcx + 0x10], 0
mov qword [rcx + 0x18], recv
mov byte [rcx], 0
mov r13d, 1
mov dword [rbp - 0x31], r13d
xor r14d, r14d
cmp rdx, r8
je 0x140021df9
mov al, byte [rbx]
mov byte [rbp + r14 - 0x35], al
add r14, r13
mov r12b, byte [rbp - 0x34]
movzx r15d, byte [rbp - 0x35]
cmp r14, 3
jne 0x140021c69
mov eax, r15d
shr rax, 2
mov r9b, byte [rbp + rax - 0x19]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 0x18]
jae 0x140021b6e
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140021b63
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140021b7d
mov r8b, byte [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
call fcn.1400068c4
mov cl, r15b
and cl, 3
shl cl, 4
mov al, r12b
shr al, 4
add cl, al
movzx eax, cl
mov r9b, byte [rbp + rax - 0x19]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 0x18]
jae 0x140021bc0
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140021bb5
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140021bcf
mov r8b, byte [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
call fcn.1400068c4
mov cl, r12b
and cl, 0xf
shl cl, 2
mov al, byte [rbp - 0x33]
shr al, 6
add cl, al
movzx eax, cl
mov r9b, byte [rbp + rax - 0x19]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 0x18]
jae 0x140021c12
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140021c07
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140021c21
mov r8b, byte [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
call fcn.1400068c4
movzx eax, byte [rbp - 0x33]
and eax, 0x3f
mov r9b, byte [rbp + rax - 0x19]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 0x18]
jae 0x140021c57
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140021c4c
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140021c66
mov r8b, byte [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
call fcn.1400068c4
xor r14d, r14d
add rbx, r13
cmp rbx, rdi
jne 0x140021b1b
test r14, r14
je 0x140021df9
mov rax, r15
shr rax, 2
mov r9b, byte [rbp + rax - 0x19]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 0x18]
jae 0x140021cb4
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140021ca9
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140021cc3
mov r8b, byte [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
call fcn.1400068c4
mov ebx, 4
and r15b, 3
mov rcx, qword [rsi + 0x10]
shl r15b, 4
cmp r14, r13
jne 0x140021d1f
movzx eax, r15b
mov r9b, byte [rbp + rax - 0x19]
cmp rcx, qword [rsi + 0x18]
jae 0x140021d08
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140021cfd
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140021d17
mov r8b, byte [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
call fcn.1400068c4
inc r14
jmp 0x140021db8
mov al, r12b
shr al, 4
add r15b, al
movzx eax, r15b
mov r9b, byte [rbp + rax - 0x19]
cmp rcx, qword [rsi + 0x18]
jae 0x140021d57
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140021d4c
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140021d66
mov r8b, byte [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
call fcn.1400068c4
and r12b, 0xf
shl r12b, 2
movzx eax, r12b
mov r9b, byte [rbp + rax - 0x19]
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 0x18]
jae 0x140021da1
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140021d96
mov rax, qword [rsi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x140021db0
mov r8b, byte [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
call fcn.1400068c4
add r14, r13
cmp r14, rbx
jae 0x140021df9
sub rbx, r14
mov rcx, qword [rsi + 0x10]
cmp rcx, qword [rsi + 0x18]
jae 0x140021de2
lea rax, [rcx + 1]
mov qword [rsi + 0x10], rax
mov rax, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140021dda
mov rax, qword [rsi]
mov word [rax + rcx], 0x3d
jmp 0x140021df4
mov r9b, 0x3d
mov r8b, byte [rbp - 0x39]
mov rdx, r13
mov rcx, rsi
call fcn.1400068c4
sub rbx, r13
jne 0x140021dbb
mov rax, rsi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1402145d0
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret