Function at 0x18003ee00
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r14
mov rdi, qword [r8]
mov rsi, 0xffffffffffffffff
mov rax, rsi
mov r14, r8
mov rbx, rdx
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18003ee20
mov qword [rsp + 0x20], rbp
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x30], r15
cmp rax, 3
jb 0x18003f1cd
cmp byte [rcx], 0x30
jne 0x18003f1cd
movzx eax, byte [rcx + 1]
add rcx, 2
cmp al, 0x42
je 0x18003ef39
cmp al, 0x58
je 0x18003ee70
cmp al, 0x62
je 0x18003ef39
cmp al, 0x78
jne 0x18003f1cd
nop
inc rsi
cmp byte [rcx + rsi], 0
jne 0x18003ee70
test sil, 1
je 0x18003ee9c
movsx eax, byte [rcx]
inc rcx
cmp al, 0x39
jg 0x18003ee8e
add eax, 0xffffffd0
jmp 0x18003ee94
add eax, 0xfffffff9
and eax, 0xf
inc rbx
mov byte [rdx], al
dec rdi
movzx r9d, byte [rcx]
test r9b, r9b
je 0x18003ef2f
movabs r10, 0x7e0000007e03ff
test rdi, rdi
je 0x18003f1c6
lea eax, [r9 - 0x30]
cmp al, 0x36
ja 0x18003f1cd
bt r10, rax
jae 0x18003f1cd
movsx r8d, byte [rcx + 1]
add rcx, 2
lea eax, [r8 - 0x30]
cmp al, 9
jbe 0x18003eef7
lea eax, [r8 - 0x61]
cmp al, 5
jbe 0x18003eef7
lea eax, [r8 - 0x41]
cmp al, 5
ja 0x18003f1cd
movsx edx, r9b
cmp r9b, 0x39
lea eax, [rdx - 0x37]
cmovg edx, eax
mov eax, r8d
cmp r8b, 0x39
jg 0x18003ef13
add eax, 0xffffffd0
jmp 0x18003ef19
add eax, 0xfffffff9
and eax, 0xf
shl dl, 4
dec rdi
or dl, al
mov byte [rbx], dl
inc rbx
movzx r9d, byte [rcx]
test r9b, r9b
jne 0x18003eeb3
sub qword [r14], rdi
xor eax, eax
jmp 0x18003f1d2
mov rax, rsi
nop dword [rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x18003ef40
test al, 3
jne 0x18003f1cd
movzx r8d, byte [rcx]
mov rax, rdi
test r8b, r8b
je 0x18003f1bc
mov ebp, 0x3f
movabs r15, 0xffffffc07ff1
movabs r12, 0xffffffc47ff1
nop word [rax + rax]
test rdi, rdi
je 0x18003f1c6
lea eax, [r8 - 0x2b]
cmp al, 0x2f
ja 0x18003ef9b
movsx rax, al
bt r15, rax
jb 0x18003efa7
lea eax, [r8 - 0x61]
cmp al, 0x19
ja 0x18003f1cd
movsx r11d, byte [rcx + 1]
lea eax, [r11 - 0x2b]
cmp al, 0x2f
ja 0x18003efbe
movsx rax, al
bt r15, rax
jb 0x18003efca
lea eax, [r11 - 0x61]
cmp al, 0x19
ja 0x18003f1cd
movsx r9d, byte [rcx + 2]
lea eax, [r9 - 0x2b]
cmp al, 0x2f
ja 0x18003efe1
movsx rax, al
bt r12, rax
jb 0x18003efed
lea eax, [r9 - 0x61]
cmp al, 0x19
ja 0x18003f1cd
movsx r10d, byte [rcx + 3]
add rcx, 4
cmp r9b, 0x3d
jne 0x18003f005
cmp r10b, r9b
jne 0x18003f1cd
lea eax, [r10 - 0x2b]
cmp al, 0x2f
ja 0x18003f017
movsx rax, al
bt r12, rax
jb 0x18003f023
lea eax, [r10 - 0x61]
cmp al, 0x19
ja 0x18003f1cd
lea eax, [r8 - 0x41]
cmp al, 0x19
ja 0x18003f034
movsx edx, r8b
sub edx, 0x41
jmp 0x18003f06c
lea eax, [r8 - 0x61]
cmp al, 0x19
ja 0x18003f045
movsx edx, r8b
sub edx, 0x47
jmp 0x18003f06c
lea eax, [r8 - 0x30]
cmp al, 9
ja 0x18003f056
movsx edx, r8b
add edx, 4
jmp 0x18003f06c
cmp r8b, 0x2b
jne 0x18003f063
mov edx, 0x3e
jmp 0x18003f06c
cmp r8b, 0x2f
mov edx, esi
cmove edx, ebp
lea eax, [r11 - 0x41]
cmp al, 0x19
ja 0x18003f07a
lea eax, [r11 - 0x41]
jmp 0x18003f0ac
lea eax, [r11 - 0x61]
cmp al, 0x19
ja 0x18003f088
lea eax, [r11 - 0x47]
jmp 0x18003f0ac
lea eax, [r11 - 0x30]
cmp al, 9
ja 0x18003f096
lea eax, [r11 + 4]
jmp 0x18003f0ac
cmp r11b, 0x2b
jne 0x18003f0a3
mov eax, 0x3e
jmp 0x18003f0ac
cmp r11b, 0x2f
mov eax, esi
cmove eax, ebp
shl edx, 6
or edx, eax
shl edx, 0xc
cmp r9b, 0x3d
jne 0x18003f0ce
cmp byte [rcx], 0
jne 0x18003f1cd
shr edx, 0x10
mov rax, rsi
jmp 0x18003f1a4
lea eax, [r9 - 0x41]
cmp al, 0x19
ja 0x18003f0dc
lea eax, [r9 - 0x41]
jmp 0x18003f10e
lea eax, [r9 - 0x61]
cmp al, 0x19
ja 0x18003f0ea
lea eax, [r9 - 0x47]
jmp 0x18003f10e
lea eax, [r9 - 0x30]
cmp al, 9
ja 0x18003f0f8
lea eax, [r9 + 4]
jmp 0x18003f10e
cmp r9b, 0x2b
jne 0x18003f105
mov eax, 0x3e
jmp 0x18003f10e
cmp r9b, 0x2f
mov eax, esi
cmove eax, ebp
shl eax, 6
or edx, eax
cmp r10b, 0x3d
jne 0x18003f142
cmp byte [rcx], 0
jne 0x18003f1cd
cmp rdi, 2
jb 0x18003f1c6
mov eax, edx
shr eax, 0x10
mov byte [rbx], al
inc rbx
shr edx, 8
mov rax, 0xfffffffffffffffe
jmp 0x18003f1a4
lea eax, [r10 - 0x41]
cmp al, 0x19
ja 0x18003f150
lea eax, [r10 - 0x41]
jmp 0x18003f182
lea eax, [r10 - 0x61]
cmp al, 0x19
ja 0x18003f15e
lea eax, [r10 - 0x47]
jmp 0x18003f182
lea eax, [r10 - 0x30]
cmp al, 9
ja 0x18003f16c
lea eax, [r10 + 4]
jmp 0x18003f182
cmp r10b, 0x2b
jne 0x18003f179
mov eax, 0x3e
jmp 0x18003f182
cmp r10b, 0x2f
mov eax, esi
cmove eax, ebp
or edx, eax
cmp rdi, 3
jb 0x18003f1c6
mov eax, edx
shr eax, 0x10
mov byte [rbx], al
mov eax, edx
shr eax, 8
mov byte [rbx + 1], al
add rbx, 2
mov rax, 0xfffffffffffffffd
mov byte [rbx], dl
add rdi, rax
movzx r8d, byte [rcx]
inc rbx
test r8b, r8b
jne 0x18003ef80
mov rax, qword [r14]
sub rax, rdi
mov qword [r14], rax
xor eax, eax
jmp 0x18003f1d2
mov eax, 0xffffffd7
jmp 0x18003f1d2
mov eax, 0xffffffcb
mov r15, qword [rsp + 0x30]
mov r12, qword [rsp + 0x28]
mov rbp, qword [rsp + 0x20]
mov rbx, qword [rsp + 0x38]
pop r14
pop rdi
pop rsi
ret