Function at 0x1401fa5d0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
movabs rbx, 0x10000000000000
or rbx, rcx
test edx, edx
cmove rbx, rcx
lea eax, [rdx - 0x435]
mov ebp, 0xfffffbcc
cmovne ebp, eax
mov qword [rsp], rbx
lea rsi, [rbx*4]
test rcx, rcx
setne al
cmp edx, 2
setb r12b
or r12b, al
test ebp, ebp
js 0x1401fa742
imul r8d, ebp, 0x13441
shr r8d, 0x12
cmp ebp, 4
adc r8d, 0xffffffff
imul ebx, r8d, 0x12934f
shr ebx, 0x13
mov rax, r8
shl rax, 4
lea rcx, [0x1403ef9c0]
mov rdi, rsi
or rdi, 2
mov r15, qword [rax + rcx]
mov r9, qword [rax + rcx + 8]
mov rax, r15
mul rdi
mov rcx, rdx
mov rax, r9
mul rdi
mov r11, rdx
mov r14, rax
add r14, rcx
adc r11, 0
mov ecx, r8d
sub ecx, ebp
add ecx, ebx
add cl, 0x3d
shrd r14, r11, cl
shr r11, cl
movzx ebp, r12b
mov rbx, rbp
not rbx
add rbx, rsi
mov rax, r15
mul rbx
mov r13, rdx
mov rax, r9
mul rbx
mov r10, rdx
mov r12, rax
add r12, r13
adc r10, 0
shrd r12, r10, cl
shr r10, cl
mov rax, r15
mul rsi
mov r15, rdx
mov rax, r9
mul rsi
mov r9, rdx
add rax, r15
adc r9, 0
shrd rax, r9, cl
shr r9, cl
test cl, 0x40
cmove r11, r14
cmove r10, r12
cmove r9, rax
cmp r8d, 0x15
ja 0x1401fa8cd
movabs rcx, 0xcccccccccccccccd
mov rax, rsi
mul rcx
shr rdx, 2
lea eax, [rdx + rdx*4]
cmp eax, esi
jne 0x1401fa847
mov edi, 0xffffffff
nop word cs:[rax + rax]
mov rax, rsi
mul rcx
shr rdx, 2
lea eax, [rdx + rdx*4]
inc edi
cmp eax, esi
mov rsi, rdx
je 0x1401fa720
cmp edi, r8d
setae r12b
jmp 0x1401fa8d0
mov eax, ebp
neg eax
imul edi, ebp, 0xfff4d105
shr edi, 0x14
xor ecx, ecx
cmp eax, 2
setge cl
sub edi, ecx
add ebp, edi
sub eax, edi
imul ebx, eax, 0x12934f
shr ebx, 0x13
cdqe
shl rax, 4
lea rdx, [0x1403f0f20]
mov rcx, rsi
or rcx, 2
mov r9, qword [rax + rdx]
mov r8, qword [rax + rdx + 8]
mov rax, r9
mul rcx
mov r10, rdx
mov rax, r8
mul rcx
mov r11, rdx
mov r14, rax
add r14, r10
adc r11, 0
mov ecx, edi
sub ecx, ebx
add cl, 0x3c
shrd r14, r11, cl
shr r11, cl
movzx ebx, r12b
not rbx
add rbx, rsi
mov rax, r9
mul rbx
mov r15, rdx
mov rax, r8
mul rbx
mov r10, rdx
mov rbx, rax
add rbx, r15
adc r10, 0
shrd rbx, r10, cl
shr r10, cl
mov rax, r9
mul rsi
mov r15, rdx
mov rax, r8
mul rsi
mov r9, rdx
add rax, r15
adc r9, 0
shrd rax, r9, cl
shr r9, cl
test cl, 0x40
cmove r11, r14
cmove r10, rbx
cmove r9, rax
cmp edi, 2
jae 0x1401fa82a
mov rax, qword [rsp]
and eax, 1
sete r14b
and r14b, r12b
sub r11, rax
mov r12b, 1
mov r8d, ebp
jmp 0x1401fa93e
cmp edi, 0x3f
jae 0x1401fa88a
mov rax, 0xffffffffffffffff
mov ecx, edi
shl rax, cl
not rax
test rsi, rax
sete r12b
jmp 0x1401fa88d
test byte [rsp], 1
jne 0x1401fa89d
not rbp
add rbp, rsi
mov esi, 0xffffffff
nop dword [rax + rax]
mov rax, rbp
mul rcx
shr rdx, 2
lea eax, [rdx + rdx*4]
inc esi
cmp eax, ebp
mov rbp, rdx
je 0x1401fa860
cmp esi, r8d
setae r14b
xor r12d, r12d
test r12b, r12b
je 0x1401fa8d8
jmp 0x1401fa93e
xor r12d, r12d
xor r14d, r14d
mov r8d, ebp
test r12b, r12b
je 0x1401fa8d8
jmp 0x1401fa93e
mov esi, 0xffffffff
nop word cs:[rax + rax]
mov rax, rdi
mul rcx
shr rdx, 2
lea eax, [rdx + rdx*4]
inc esi
cmp eax, edi
mov rdi, rdx
je 0x1401fa8b0
cmp esi, r8d
adc r11, 0xffffffffffffffff
xor r12d, r12d
xor r14d, r14d
test r12b, r12b
jne 0x1401fa93e
test r14b, r14b
jne 0x1401fa93e
mov rax, r11
shr rax, 2
movabs rsi, 0x28f5c28f5c28f5c3
mul rsi
mov rdi, rdx
shr rdi, 2
mov rax, r10
shr rax, 2
mul rsi
mov rcx, rdx
shr rcx, 2
xor r13d, r13d
cmp rdi, rcx
jbe 0x1401faa86
mov rax, r9
shr rax, 2
mul rsi
shr rdx, 2
imul eax, edx, 0xffffff9c
add eax, r9d
cmp eax, 0x32
setae r10b
mov r13d, 2
mov r9, rdx
jmp 0x1401faa8f
movabs r15, 0xcccccccccccccccd
mov rax, r11
mul r15
mov rbx, rdx
shr rbx, 3
mov rax, r10
mul r15
shr rdx, 3
xor edi, edi
xor r13d, r13d
cmp rbx, rdx
jbe 0x1401fa9d1
xor ebp, ebp
nop dword [rax + rax]
mov rcx, rdx
lea edi, [rdx + rdx]
mov rax, r9
mul r15
mov rsi, rdx
lea eax, [rdi + rdi*4]
shr rsi, 3
lea edx, [rsi + rsi]
lea edi, [rdx + rdx*4]
neg edi
add dil, r9b
cmp eax, r10d
sete al
and r14b, al
test bpl, bpl
sete al
and r12b, al
mov rax, rbx
mul r15
inc r13d
mov rbx, rdx
shr rbx, 3
mov rax, rcx
mul r15
shr rdx, 3
mov r9, rsi
mov r10, rcx
mov ebp, edi
cmp rbx, rdx
ja 0x1401fa970
test r14b, r14b
jne 0x1401fa9dc
jmp 0x1401faa4e
mov rcx, r10
mov rsi, r9
test r14b, r14b
je 0x1401faa4e
mov rax, rcx
mul r15
mov r10, rdx
shr r10, 3
lea eax, [r10 + r10]
lea eax, [rax + rax*4]
cmp eax, ecx
jne 0x1401faa4e
nop word cs:[rax + rax]
mov rax, rsi
mul r15
mov r9, rdx
shr r9, 3
lea eax, [r9 + r9]
lea ebx, [rax + rax*4]
neg ebx
add bl, sil
test dil, dil
sete al
test r12b, r12b
setne r12b
and r12b, al
inc r13d
mov rax, r10
mul r15
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov rcx, r10
mov rsi, r9
mov edi, ebx
cmp eax, r10d
mov r10, rdx
je 0x1401faa00
jmp 0x1401faa53
mov ebx, edi
mov r9, rsi
test r12b, r12b
sete dl
cmp bl, 5
setne bl
setae r10b
cmp r9, rcx
sete al
xor r14b, 1
or r14b, byte [rsp]
and r14b, al
mov eax, r9d
or al, dl
or al, bl
and al, r10b
or al, r14b
jmp 0x1401fab0b
mov rcx, r10
mov rdi, r11
xor r10d, r10d
movabs rsi, 0xcccccccccccccccd
mov rax, rdi
mul rsi
mov rbx, rdx
mov rax, rcx
mul rsi
shr rbx, 3
shr rdx, 3
cmp rbx, rdx
jbe 0x1401fab02
nop word cs:[rax + rax]
mov rdi, r9
mov rcx, rdx
mov rax, r9
mul rsi
mov r9, rdx
shr r9, 3
inc r13d
mov rax, rbx
mul rsi
mov rbx, rdx
mov rax, rcx
mul rsi
shr rbx, 3
shr rdx, 3
cmp rbx, rdx
ja 0x1401faac0
lea eax, [r9 + r9]
lea eax, [rax + rax*4]
sub edi, eax
cmp edi, 5
setae r10b
cmp r9, rcx
sete al
or al, r10b
add r8d, r13d
movzx eax, al
add rax, r9
mov edx, r8d
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret