Function at 0x140014a20
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
mov rax, qword [rdx]
test rax, rax
je 0x140014e7c
mov rbx, rcx
mov rcx, qword [rdx + 8]
test rcx, rcx
je 0x140014e7c
mov r11, qword [rdx + 0x10]
test r11, r11
je 0x140014e7c
add r11, rax
jb 0x140014e7c
mov rsi, rax
sub rsi, rcx
jb 0x140014e7c
mov rcx, r11
shr rcx, 0x3d
jne 0x140014e7c
mov ecx, dword [rdx + 0x18]
mov rdx, r11
shr rdx, 0x20
mov r9, r11
shl r9, 0x20
lea r10d, [rcx - 0x20]
test rdx, rdx
cmovne r9, r11
cmovne r10d, ecx
mov rdx, r9
shr rdx, 0x30
mov rdi, r9
shl rdi, 0x10
lea r11d, [r10 - 0x10]
test rdx, rdx
cmovne rdi, r9
cmovne r11d, r10d
mov rdx, rdi
shr rdx, 0x38
mov r9, rdi
shl r9, 8
lea r10d, [r11 - 8]
test rdx, rdx
cmovne r9, rdi
cmovne r10d, r11d
mov rdx, r9
shr rdx, 0x3c
mov r14, r9
shl r14, 4
lea edi, [r10 - 4]
test rdx, rdx
cmovne r14, r9
cmovne edi, r10d
mov rdx, r14
shr rdx, 0x3e
lea r11, [r14*4]
test rdx, rdx
cmovne r11, r14
lea r15d, [rdi - 2]
cmovne r15d, edi
xor edx, edx
test r11, r11
setns dl
sub r15d, edx
sub cx, r15w
js 0x140014e7c
and ecx, 0x3f
mov r9, rsi
shl r9, cl
mov rdx, r9
shr rdx, cl
cmp rdx, rsi
jne 0x140014e7c
mov rdx, rax
shl rdx, cl
mov r10, rdx
shr r10, cl
cmp r10, rax
jne 0x140014e7c
mov eax, 0xffffffa0
sub eax, r15d
cwde
lea eax, [rax + rax*4]
shl eax, 4
add eax, 0x153b0
cdqe
imul rax, rax, 0x7b4dc993
mov rcx, rax
shr rcx, 0x3f
sar rax, 0x2a
add eax, ecx
cmp eax, 0x51
jae 0x140014e7c
mov rbp, r8
mov qword [rsp + 8], rbx
test r11, r11
setns cl
shl r11, cl
mov ebx, eax
shl rbx, 4
lea rdi, [0x1401bf358]
mov rsi, qword [rbx + rdi]
movzx eax, word [rbx + rdi + 0xa]
mov dword [rsp], eax
mov rax, r11
shr rax, 0x20
mov r12, rax
mov qword [rsp + 0x40], rax
mov r10d, r11d
mov ecx, esi
mov rax, rsi
shr rax, 0x20
mov r14, rax
imul r14, r10
mov r8, rcx
imul r8, r12
imul r10, rcx
shr r10, 0x20
mov r11d, r8d
add r11, r10
mov r12d, r14d
add r12, r11
add r15w, word [rbx + rdi + 8]
mov r11, r9
shr r11, 0x20
mov r10d, r9d
mov r9, rax
imul r9, r11
mov qword [rsp + 0x20], r9
mov r13, rax
imul r13, r10
imul r11, rcx
imul r10, rcx
shr r10, 0x20
mov r9d, r11d
add r9, r10
mov ebx, r13d
add rbx, r9
mov r9, rdx
shr r9, 0x20
mov edx, edx
mov rsi, rax
imul rsi, rdx
mov rdi, rcx
imul rdi, r9
imul rcx, rdx
shr rcx, 0x20
mov edx, edi
add rdx, rcx
mov r10d, esi
add r10, rdx
mov rcx, rax
imul rcx, qword [rsp + 0x40]
sub r12, 0xffffffff80000000
shr r8, 0x20
shr r14, 0x20
shr r12, 0x20
neg r15d
sub rbx, 0xffffffff80000000
shr r11, 0x20
mov rdx, r11
shr r13, 0x20
mov qword [rsp + 0x18], r13
shr rbx, 0x20
mov qword [rsp + 0x88], rax
mov r13, rax
mov qword [rsp + 0x70], r9
imul r13, r9
sub r10, 0xffffffff80000000
mov qword [rsp + 0x78], r8
mov qword [rsp + 0x58], rcx
add rcx, r8
mov qword [rsp + 0x80], r14
add rcx, r14
mov qword [rsp + 0x28], r12
lea r14, [r12 + rcx]
inc r14
and r15d, 0x3f
mov r11, r14
mov ecx, r15d
shr r11, cl
shr rdi, 0x20
shr rsi, 0x20
mov eax, 1
shl rax, cl
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x50], r13
lea r8, [rdi + r13]
mov qword [rsp + 0x60], rsi
add r8, rsi
shr r10, 0x20
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x90], rax
lea rsi, [rax - 1]
cmp r11d, 0x2710
jae 0x140014d39
cmp r11d, 0x64
jae 0x140014d60
xor ecx, ecx
cmp r11d, 0xa
setae cl
lea r9d, [rcx + rcx*8]
inc r9d
jmp 0x140014dc1
cmp r11d, 0xf4240
jae 0x140014d7e
cmp r11d, 0x186a0
setb cl
mov eax, 0x2710
mov r9d, 0x186a0
cmovb r9d, eax
xor cl, 5
jmp 0x140014dc1
cmp r11d, 0x3e8
setb cl
mov eax, 0x64
mov r9d, 0x3e8
cmovb r9d, eax
xor cl, 3
jmp 0x140014dc1
cmp r11d, 0x5f5e100
jae 0x140014da5
cmp r11d, 0x989680
setb cl
mov eax, 0xf4240
mov r9d, 0x989680
cmovb r9d, eax
xor cl, 7
jmp 0x140014dc1
cmp r11d, 0x3b9aca00
setb cl
mov eax, 0x5f5e100
mov r9d, 0x3b9aca00
cmovb r9d, eax
xor cl, 9
add r8, qword [rsp + 0x38]
mov qword [rsp + 0x30], r8
mov rdi, r14
and rdi, rsi
movzx r8d, cl
mov ecx, r8d
sub ecx, dword [rsp]
inc ecx
mov dword [rsp + 0x14], ecx
add rdx, qword [rsp + 0x20]
add rdx, qword [rsp + 0x18]
add rdx, rbx
mov qword [rsp], r14
mov qword [rsp + 0x18], rdx
sub r14, rdx
mov qword [rsp + 0x48], r14
lea r10, [r14 + 1]
mov r12, r10
mov qword [rsp + 0x20], rsi
and r12, rsi
xor r13d, r13d
nop word cs:[rax + rax]
mov eax, r11d
xor edx, edx
div r9d
add al, 0x30
mov rsi, rbp
mov byte [rbp + r13], al
mov r11d, edx
mov rdx, r11
mov r14, r15
mov ecx, r15d
shl rdx, cl
lea rbx, [r13 + 1]
lea rbp, [rdx + rdi]
mov r15, r10
sub r15, rbp
ja 0x140014e7e
cmp r8, r13
je 0x140014f82
mov eax, r9d
mov ecx, 0xcccccccd
imul rax, rcx
shr rax, 0x23
mov r13, rbx
cmp r9d, 0xa
mov r9d, eax
mov rbp, rsi
mov r15, r14
jae 0x140014e20
ud2
mov r11d, r9d
mov ecx, r14d
shl r11, cl
mov r8, qword [rsp]
sub r8, qword [rsp + 0x30]
lea r9, [r8 + 1]
dec r8
cmp r15, r11
setb r14b
cmp r8, rbp
jbe 0x140015066
mov rcx, r8
cmp r15, r11
mov r8, qword [rsp + 8]
jb 0x14001507f
mov qword [rsp], r9
mov r14, qword [rsp + 0x80]
mov r15, qword [rsp + 0x78]
lea r9, [r15 + r14]
add r9, qword [rsp + 0x28]
add r9, qword [rsp + 0x58]
mov r10, qword [rsp + 0x68]
add r10, qword [rsp + 0x60]
add r10, qword [rsp + 0x38]
mov r12, qword [rsp + 0x50]
add r12, r10
mov r8, r9
sub r8, r12
sub r8, rbp
mov rbp, qword [rsp + 0x70]
sub rbp, qword [rsp + 0x40]
mov r12, qword [rsp + 0x88]
imul r12, rbp
add r12, r10
lea r10, [rdi + r11]
add r12, r10
sub r12, r15
sub r12, r14
sub r12, qword [rsp + 0x28]
sub r9, qword [rsp + 0x18]
sub r9, r10
sub r9, rdx
add r9, 2
mov rbp, rsi
nop word cs:[rax + rax]
lea r15, [rdx + r10]
cmp r15, rcx
jb 0x140014f56
lea r14, [rdx + r12]
cmp r8, r14
jb 0x14001506d
dec al
mov byte [rbp + r13], al
sub r9, r11
setb r14b
add rdi, r11
cmp r15, rcx
jae 0x140014f7a
sub r8, r11
add r12, r11
add r10, r11
test r14b, r14b
je 0x140014f40
add rdx, rdi
jmp 0x140015073
inc r13
mov r8d, 1
mov rbx, rsi
mov rcx, r14
mov r14, qword [rsp]
mov r15, qword [rsp + 0x90]
mov r10, qword [rsp + 0x20]
nop word cs:[rax + rax]
cmp r13, 0x10
ja 0x140014e7c
mov rax, r8
add rdi, rdi
lea rdx, [rdi + rdi*4]
mov rdi, rdx
and rdi, r10
add r8, r8
lea r8, [r8 + r8*4]
add r12, r12
lea r12, [r12 + r12*4]
shr rdx, cl
lea r9d, [rdx + 0x30]
mov byte [rbx + r13], r9b
inc r13
mov r9, r12
sub r9, rdi
jbe 0x140014fb0
sub r14, qword [rsp + 0x30]
imul r14, r8
lea rcx, [r14 + r8]
cmp r9, r15
setb r10b
jb 0x1400150cb
sub r14, r8
mov r8, r14
sub r8, rdi
jbe 0x1400150cb
add dl, 0x2f
mov r11, r15
sub r11, r14
mov rsi, r12
sub rsi, r15
sub rsi, rdi
nop dword [rax]
lea r9, [rdi + r15]
cmp r9, r14
jb 0x140015046
lea r10, [r11 + rdi]
cmp r8, r10
jb 0x1400150c8
mov byte [rbx + r13 - 1], dl
sub rsi, r15
setb r10b
cmp r9, r14
jae 0x1400150ce
dec dl
sub r8, r15
mov rdi, r9
test r10b, r10b
je 0x140015030
jmp 0x1400150ce
mov r8, qword [rsp + 8]
jmp 0x14001507f
add rdx, rdi
xor r14d, r14d
mov rbp, rdx
mov r8, qword [rsp + 8]
mov r9, qword [rsp]
mov rax, r9
sub rax, rbp
jbe 0x140015099
test r14b, r14b
jne 0x140015099
add r11, rbp
sub r11, r9
jb 0x1400150bf
cmp rax, r11
jae 0x1400150bf
cmp rbp, 2
jb 0x1400150bf
mov rax, qword [rsp + 0x48]
add rax, 0xfffffffffffffffd
cmp rbp, rax
ja 0x1400150bf
mov qword [r8], rsi
mov qword [r8 + 8], rbx
mov eax, dword [rsp + 0x14]
mov word [r8 + 0x10], ax
jmp 0x140015115
mov qword [r8], 0
jmp 0x140015115
xor r10d, r10d
mov r9, rdi
mov rdx, rcx
sub rdx, r9
jbe 0x1400150e8
test r10b, r10b
jne 0x1400150e8
add r15, r9
sub r15, rcx
jb 0x140015109
cmp rdx, r15
jae 0x140015109
lea rcx, [rax*4]
lea rcx, [rcx + rcx*4]
cmp rcx, r9
ja 0x140015109
shl rax, 3
lea rax, [rax + rax*4]
sub r12, rax
cmp r9, r12
jbe 0x140015129
mov rax, qword [rsp + 8]
mov qword [rax], 0
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsp + 8]
mov qword [rax], rbx
mov qword [rax + 8], r13
mov ecx, dword [rsp + 0x14]
mov word [rax + 0x10], cx
jmp 0x140015115