Function at 0x1400ab280
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], r9
push rdi
push r12
push r13
push r14
push r15
lea eax, [rdx + 0x3f]
mov r10d, edx
shr eax, 6
xor r12d, r12d
sub r10d, eax
xor r14d, r14d
inc r10d
mov rdi, r9
mov r13, r8
mov esi, edx
mov r11, rcx
lea eax, [r10 + r10*2]
shr eax, 2
cmp eax, dword [r9]
ja 0x1400ab5ac
cmp edx, 3
jbe 0x1400ab588
mov r8d, edx
mov edx, r14d
movzx ecx, byte [r14 + r11]
movabs rbx, 0x100002400
cmp cl, 0x20
ja 0x1400ab336
bt rbx, rcx
jae 0x1400ab336
lea r8d, [rsi - 1]
lea edx, [r14 + 1]
test r8d, r8d
je 0x1400ab315
cmp cl, 0x20
jne 0x1400ab315
movzx ecx, byte [rdx + r11]
inc edx
add r8d, 0xffffffff
jne 0x1400ab303
cmp cl, 0xd
jne 0x1400ab32d
test r8d, r8d
je 0x1400ab59e
movzx ecx, byte [rdx + r11]
inc edx
dec r8d
cmp cl, 0xa
jne 0x1400ab59e
test r8d, r8d
je 0x1400ab588
mov eax, edx
movzx r10d, byte [rax + r11]
lea eax, [rdx + 1]
test r10b, r10b
je 0x1400ab588
lea edx, [r8 - 1]
test edx, edx
je 0x1400ab5a5
movzx r8d, byte [rax + r11]
cmp r8b, 0x20
ja 0x1400ab3b1
bt rbx, r8
jae 0x1400ab3b1
inc eax
sub edx, 1
je 0x1400ab388
cmp r8b, 0x20
jne 0x1400ab388
movzx r8d, byte [rax + r11]
inc eax
add edx, 0xffffffff
jne 0x1400ab376
cmp r8b, 0xd
jne 0x1400ab39f
test edx, edx
je 0x1400ab59e
movzx r8d, byte [rax + r11]
inc eax
dec edx
cmp r8b, 0xa
jne 0x1400ab59e
test edx, edx
je 0x1400ab5a5
movzx r9d, byte [rax + r11]
lea ecx, [rax + 1]
sub edx, 1
je 0x1400ab5a5
movzx r8d, byte [rcx + r11]
cmp r8b, 0x20
ja 0x1400ab41b
bt rbx, r8
jae 0x1400ab41b
inc ecx
sub edx, 1
je 0x1400ab3f2
nop word [rax + rax]
cmp r8b, 0x20
jne 0x1400ab3f2
movzx r8d, byte [rcx + r11]
inc ecx
add edx, 0xffffffff
jne 0x1400ab3e0
cmp r8b, 0xd
jne 0x1400ab409
test edx, edx
je 0x1400ab59e
movzx r8d, byte [rcx + r11]
inc ecx
dec edx
cmp r8b, 0xa
jne 0x1400ab59e
test edx, edx
je 0x1400ab5a5
movzx r15d, byte [rcx + r11]
lea r8d, [rdx - 1]
inc ecx
test r8d, r8d
je 0x1400ab5a5
movzx edx, byte [rcx + r11]
cmp dl, 0x20
ja 0x1400ab483
bt rbx, rdx
jae 0x1400ab483
inc ecx
sub r8d, 1
je 0x1400ab459
cmp dl, 0x20
jne 0x1400ab459
movzx edx, byte [rcx + r11]
inc ecx
add r8d, 0xffffffff
jne 0x1400ab447
cmp dl, 0xd
jne 0x1400ab471
test r8d, r8d
je 0x1400ab59e
movzx edx, byte [rcx + r11]
inc ecx
dec r8d
cmp dl, 0xa
jne 0x1400ab59e
test r8d, r8d
je 0x1400ab5a5
movzx ebx, byte [rcx + r11]
lea r14d, [rcx + 1]
lea esi, [r8 - 1]
mov edx, r14d
mov r8d, esi
cmp r10b, 0x2b
jb 0x1400ab59e
cmp r9b, 0x2b
jb 0x1400ab59e
cmp r15b, 0x2b
jb 0x1400ab59e
cmp bl, 0x2b
jb 0x1400ab59e
cmp r10b, 0x7a
ja 0x1400ab59e
cmp r9b, 0x7a
ja 0x1400ab59e
cmp r15b, 0x7a
ja 0x1400ab59e
cmp bl, 0x7a
ja 0x1400ab59e
xor eax, eax
cmp bl, 0x3d
setne al
xor ecx, ecx
cmp r15b, 0x3d
setne cl
add eax, r12d
inc ecx
add ecx, eax
cmp ecx, dword [rdi]
ja 0x1400ab5ac
lea rcx, [0x1408ccc50]
movzx ebp, byte [r10 + rcx - 0x2b]
movzx edi, byte [r9 + rcx - 0x2b]
cmp r15b, 0x3d
jne 0x1400ab522
xor r9b, r9b
jmp 0x1400ab528
movzx r9d, byte [r15 + rcx - 0x2b]
cmp bl, 0x3d
jne 0x1400ab531
xor al, al
jmp 0x1400ab536
movzx eax, byte [rbx + rcx - 0x2b]
shl bpl, 2
movzx ecx, dil
shr cl, 4
movzx r10d, r9b
or cl, bpl
shl r10b, 6
mov byte [r12 + r13], cl
or r10b, al
inc r12d
cmp r15b, 0x3d
je 0x1400ab56e
shr r9b, 2
shl dil, 4
or r9b, dil
mov byte [r12 + r13], r9b
inc r12d
mov rdi, qword [rsp + 0x48]
cmp bl, 0x3d
je 0x1400ab588
mov byte [r12 + r13], r10b
inc r12d
cmp esi, 3
ja 0x1400ab2dc
test r13, r13
je 0x1400ab597
cmp dword [rdi], r12d
jbe 0x1400ab597
mov byte [r12 + r13], 0
mov dword [rdi], r12d
xor eax, eax
jmp 0x1400ab5b1
mov eax, 0xffffff66
jmp 0x1400ab5b1
mov eax, 0xffffff7c
jmp 0x1400ab5b1
mov eax, 0xffffff53
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
pop r15
pop r14
pop r13
pop r12
pop rdi
ret