Function at 0x140104f10
Capabilities:
Encode data using base64

Disassembly:
push rbx
push rbp
push rsi
push rdi
push r12
sub rsp, 0x40
lea rsi, [rdx + 0x10]
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov qword [rcx + 0x10], 0
mov rdi, rdx
mov qword [rcx + 0x18], 0xf
mov rbx, rcx
mov byte [rcx], 0
mov rdx, qword [rsi]
call fcn.14010c6e0
xor edx, edx
cmp qword [rdi + 0x18], 0x10
lea r12d, [rdx - 6]
jb 0x140104f5e
mov r8, qword [rdi]
mov rcx, r8
mov rdi, r8
jmp 0x140104f64
mov r8, rdi
mov rcx, rdi
mov rax, qword [rsi]
movabs rbp, 0x7fffffffffffffff
add rax, rcx
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r14
movabs r9, 0x8000000000000000
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x88], rax
cmp rdi, rax
je 0x140105172
lea r10, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop word [rax + rax]
movzx eax, byte [r8]
shl edx, 8
add edx, eax
add r12d, 8
mov dword [rsp + 0x70], edx
js 0x140105138
movsxd rax, edx
mov qword [rsp + 0x80], rax
mov rsi, qword [rbx + 0x10]
mov ecx, r12d
mov r14, qword [rbx + 0x18]
sar rax, cl
and eax, 0x3f
movzx r15d, byte [rax + r10]
cmp rsi, r14
jae 0x14010500f
lea rax, [rsi + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r14, 0x10
jb 0x140105001
mov rax, qword [rbx]
mov byte [rax + rsi], r15b
mov byte [rax + rsi + 1], 0
jmp 0x14010511d
mov rax, rbp
sub rax, rsi
cmp rax, 1
jb 0x1401052de
lea r13, [rsi + 1]
mov rdi, r13
or rdi, 0xf
cmp rdi, rbp
jbe 0x14010503f
mov rcx, r9
mov rdi, rbp
call fcn.1400db600
mov rbp, rax
jmp 0x140105093
mov rcx, r14
mov rax, rbp
shr rcx, 1
sub rax, rcx
cmp r14, rax
jbe 0x140105060
mov rcx, r9
mov rdi, rbp
call fcn.1400db600
mov rbp, rax
jmp 0x140105093
lea rax, [rcx + r14]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x140105082
call fcn.1400db600
mov rbp, rax
jmp 0x140105093
test rcx, rcx
je 0x140105091
call fcn.140111dac
mov rbp, rax
jmp 0x140105093
xor ebp, ebp
mov qword [rbx + 0x10], r13
mov r8, rsi
mov qword [rbx + 0x18], rdi
mov rcx, rbp
cmp r14, 0x10
jb 0x1401050ee
mov rdi, qword [rbx]
mov rdx, rdi
call fcn.140118538
lea rdx, [r14 + 1]
mov byte [rsi + rbp], r15b
mov byte [rsi + rbp + 1], 0
cmp rdx, 0x1000
jb 0x1401050e4
mov rcx, qword [rdi - 8]
add rdx, 0x27
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x1401052ba
mov rdi, rcx
mov rcx, rdi
call fcn.140111038
jmp 0x1401050ff
mov rdx, rbx
call fcn.140118538
mov byte [rsi + rbp], r15b
mov byte [rsi + rbp + 1], 0
mov qword [rbx], rbp
lea r10, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movabs rbp, 0x7fffffffffffffff
movabs r9, 0x8000000000000000
sub r12d, 6
mov rax, qword [rsp + 0x80]
jns 0x140104fd2
mov edx, dword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
inc r8
mov qword [rsp + 0x78], r8
cmp r8, qword [rsp + 0x88]
jne 0x140104fb0
cmp r12d, 0xfffffffa
jle 0x140105172
shl edx, 8
lea ecx, [r12 + 8]
movsxd rdx, edx
sar rdx, cl
mov rcx, rbx
and edx, 0x3f
movzx edx, byte [rdx + r10]
call fcn.140109e40
mov rsi, qword [rbx + 0x10]
test sil, 3
je 0x1401052c1
movabs r12, 0x8000000000000000
nop word [rax + rax]
mov r14, qword [rbx + 0x18]
cmp rsi, r14
jae 0x1401051b8
lea rax, [rsi + 1]
mov qword [rbx + 0x10], rax
mov rax, rbx
cmp r14, 0x10
jb 0x1401051ad
mov rax, qword [rbx]
mov word [rax + rsi], 0x3d
jmp 0x1401052a1
mov rax, rbp
sub rax, rsi
cmp rax, 1
jb 0x1401052de
lea r15, [rsi + 1]
mov rdi, r15
or rdi, 0xf
cmp rdi, rbp
jbe 0x1401051e8
mov rcx, r12
mov rdi, rbp
call fcn.1400db600
mov rbp, rax
jmp 0x14010523c
mov rcx, r14
mov rax, rbp
shr rcx, 1
sub rax, rcx
cmp r14, rax
jbe 0x140105209
mov rcx, r12
mov rdi, rbp
call fcn.1400db600
mov rbp, rax
jmp 0x14010523c
lea rax, [rcx + r14]
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x14010522b
call fcn.1400db600
mov rbp, rax
jmp 0x14010523c
test rcx, rcx
je 0x14010523a
call fcn.140111dac
mov rbp, rax
jmp 0x14010523c
xor ebp, ebp
mov qword [rbx + 0x10], r15
mov r8, rsi
mov qword [rbx + 0x18], rdi
mov rcx, rbp
cmp r14, 0x10
jb 0x140105290
mov rdi, qword [rbx]
mov rdx, rdi
call fcn.140118538
lea rdx, [r14 + 1]
mov word [rsi + rbp], 0x3d
cmp rdx, 0x1000
jb 0x140105286
mov rcx, qword [rdi - 8]
add rdx, 0x27
sub rdi, rcx
lea rax, [rdi - 8]
cmp rax, 0x1f
ja 0x1401052ba
mov rdi, rcx
mov rcx, rdi
call fcn.140111038
jmp 0x14010529e
mov rdx, rbx
call fcn.140118538
mov word [rsi + rbp], 0x3d
mov qword [rbx], rbp
mov rsi, qword [rbx + 0x10]
test sil, 3
je 0x1401052c1
movabs rbp, 0x7fffffffffffffff
jmp 0x140105190
call 0x1401fadf1
int3
mov r15, qword [rsp + 0x28]
mov rax, rbx
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
add rsp, 0x40
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.1401043d0
int3