Function at 0x14002d010
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov qword [rbp - 0x31], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x140158280]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r15d, r8d
mov r12, rdx
mov rdi, rcx
mov qword [rbp - 0x39], rcx
mov dword [rbp - 0x41], 0
movaps xmm0, xmmword [0x140123ed0]
movaps xmmword [rbp - 0x29], xmm0
movaps xmm1, xmmword [0x140123ee0]
movaps xmmword [rbp - 0x19], xmm1
movaps xmm0, xmmword [0x140123ef0]
movaps xmmword [rbp - 9], xmm0
movaps xmm1, xmmword [0x140123f00]
movaps xmmword [rbp + 7], xmm1
movzx eax, byte [0x140123f10]
mov byte [rbp + 0x17], al
mov qword [rcx + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rcx + 0x10], 0
mov byte [rcx], 0
mov dword [rbp - 0x41], 1
xor esi, esi
test r8d, r8d
je 0x14002d3fd
xor ecx, ecx
nop word [rax + rax]
dec r15d
movzx eax, byte [r12]
mov byte [rbp + rcx - 0x49], al
inc esi
inc rcx
inc r12
movzx r8d, byte [rbp - 0x47]
movzx r13d, byte [rbp - 0x48]
movzx edx, byte [rbp - 0x49]
cmp rcx, 3
jne 0x14002d1dd
movzx eax, dl
shr al, 2
mov byte [rbp - 0x45], al
movzx ecx, dl
and cl, 3
shl cl, 4
movzx eax, r13b
shr al, 4
add cl, al
mov byte [rbp - 0x44], cl
movzx ecx, r13b
and cl, 0xf
shl cl, 2
movzx eax, r8b
shr al, 6
add cl, al
mov byte [rbp - 0x43], cl
movzx eax, r8b
and al, 0x3f
mov byte [rbp - 0x42], al
xor esi, esi
nop dword [rax + rax]
movzx eax, byte [rbp + rsi - 0x45]
movzx r14d, byte [rbp + rax - 0x29]
mov r8, qword [rdi + 0x10]
or rax, 0xffffffffffffffff
sub rax, r8
cmp rax, 1
jbe 0x14002d1f4
lea rbx, [r8 + 1]
cmp rbx, 0xfffffffffffffffe
ja 0x14002d1e7
mov rax, qword [rdi + 0x18]
cmp rax, rbx
jae 0x14002d174
mov rdx, rbx
mov rcx, rdi
call fcn.140007420
jmp 0x14002d190
test rbx, rbx
jne 0x14002d195
mov qword [rdi + 0x10], rbx
cmp rax, 0x10
jb 0x14002d188
mov rax, qword [rdi]
jmp 0x14002d18b
mov rax, rdi
mov byte [rax], 0
jmp 0x14002d1c3
test rbx, rbx
je 0x14002d1c3
mov rcx, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x14002d1a5
mov rax, qword [rdi]
jmp 0x14002d1a8
mov rax, rdi
mov byte [rax + rcx], r14b
mov qword [rdi + 0x10], rbx
cmp qword [rdi + 0x18], 0x10
jb 0x14002d1bc
mov rax, qword [rdi]
jmp 0x14002d1bf
mov rax, rdi
mov byte [rax + rbx], 0
inc rsi
cmp rsi, 4
jl 0x14002d130
xor esi, esi
xor ecx, ecx
movzx edx, byte [rbp - 0x49]
movzx r8d, byte [rbp - 0x47]
test r15d, r15d
je 0x14002d201
jmp 0x14002d0c0
lea rcx, str.string_too_long
call fcn.1400437bc
int3
lea rcx, str.string_too_long
call fcn.1400437bc
int3
test esi, esi
je 0x14002d3fd
movsxd rax, esi
cmp rax, 3
jge 0x14002d238
jae 0x14002d232
mov byte [rbp + rax - 0x49], 0
inc rax
cmp rax, 3
jl 0x14002d212
movzx r8d, byte [rbp - 0x47]
movzx r13d, byte [rbp - 0x48]
movzx edx, byte [rbp - 0x49]
jmp 0x14002d238
call fcn.14006eb1c
int3
movzx eax, dl
shr al, 2
mov byte [rbp - 0x45], al
and dl, 3
shl dl, 4
movzx eax, r13b
shr al, 4
add dl, al
mov byte [rbp - 0x44], dl
and r13b, 0xf
shl r13b, 2
movzx eax, r8b
shr al, 6
add r13b, al
mov byte [rbp - 0x43], r13b
and r8b, 0x3f
mov byte [rbp - 0x42], r8b
xor r15d, r15d
lea r13d, [rsi + 1]
test r13d, r13d
jle 0x14002d349
lea r14, [rbp - 0x45]
nop word [rax + rax]
movzx eax, byte [r14]
movzx r12d, byte [rbp + rax - 0x29]
mov r8, qword [rdi + 0x10]
or rax, 0xffffffffffffffff
sub rax, r8
cmp rax, 1
jbe 0x14002d33c
lea rbx, [r8 + 1]
cmp rbx, 0xfffffffffffffffe
ja 0x14002d32f
mov rax, qword [rdi + 0x18]
cmp rax, rbx
jae 0x14002d2cf
mov rdx, rbx
mov rcx, rdi
call fcn.140007420
jmp 0x14002d2eb
test rbx, rbx
jne 0x14002d2f0
mov qword [rdi + 0x10], rbx
cmp rax, 0x10
jb 0x14002d2e3
mov rax, qword [rdi]
jmp 0x14002d2e6
mov rax, rdi
mov byte [rax], 0
jmp 0x14002d31e
test rbx, rbx
je 0x14002d31e
mov rcx, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x14002d300
mov rax, qword [rdi]
jmp 0x14002d303
mov rax, rdi
mov byte [rax + rcx], r12b
mov qword [rdi + 0x10], rbx
cmp qword [rdi + 0x18], 0x10
jb 0x14002d317
mov rax, qword [rdi]
jmp 0x14002d31a
mov rax, rdi
mov byte [rax + rbx], 0
inc r15d
inc r14
cmp r15d, r13d
jl 0x14002d290
jmp 0x14002d349
lea rcx, str.string_too_long
call fcn.1400437bc
int3
lea rcx, str.string_too_long
call fcn.1400437bc
int3
cmp esi, 3
jge 0x14002d3fd
inc esi
mov r8, qword [rdi + 0x10]
or rax, 0xffffffffffffffff
sub rax, r8
cmp rax, 1
jbe 0x14002d3f0
lea rbx, [r8 + 1]
cmp rbx, 0xfffffffffffffffe
ja 0x14002d3e3
mov rax, qword [rdi + 0x18]
cmp rax, rbx
jae 0x14002d389
mov rdx, rbx
mov rcx, rdi
call fcn.140007420
jmp 0x14002d3a5
test rbx, rbx
jne 0x14002d3aa
mov qword [rdi + 0x10], rbx
cmp rax, 0x10
jb 0x14002d39d
mov rax, qword [rdi]
jmp 0x14002d3a0
mov rax, rdi
mov byte [rax], 0
jmp 0x14002d3d8
test rbx, rbx
je 0x14002d3d8
mov rcx, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 0x10
jb 0x14002d3ba
mov rax, qword [rdi]
jmp 0x14002d3bd
mov rax, rdi
mov byte [rcx + rax], 0x3d
mov qword [rdi + 0x10], rbx
cmp qword [rdi + 0x18], 0x10
jb 0x14002d3d1
mov rax, qword [rdi]
jmp 0x14002d3d4
mov rax, rdi
mov byte [rbx + rax], 0
cmp esi, 3
jl 0x14002d352
jmp 0x14002d3fd
lea rcx, str.string_too_long
call fcn.1400437bc
int3
lea rcx, str.string_too_long
call fcn.1400437bc
int3
mov rax, rdi
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14006ed70
lea r11, [rsp + 0xa0]
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