Function at 0x1800d3480
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 0x1800d37ac
cmp edx, 3
jbe 0x1800d3788
mov r8d, edx
mov edx, r14d
movzx ecx, byte [r14 + r11]
movabs rbx, 0x100002400
cmp cl, 0x20
ja 0x1800d3536
bt rbx, rcx
jae 0x1800d3536
lea r8d, [rsi - 1]
lea edx, [r14 + 1]
test r8d, r8d
je 0x1800d3515
cmp cl, 0x20
jne 0x1800d3515
movzx ecx, byte [rdx + r11]
inc edx
add r8d, 0xffffffff
jne 0x1800d3503
cmp cl, 0xd
jne 0x1800d352d
test r8d, r8d
je 0x1800d379e
movzx ecx, byte [rdx + r11]
inc edx
dec r8d
cmp cl, 0xa
jne 0x1800d379e
test r8d, r8d
je 0x1800d3788
mov eax, edx
movzx r10d, byte [rax + r11]
lea eax, [rdx + 1]
test r10b, r10b
je 0x1800d3788
lea edx, [r8 - 1]
test edx, edx
je 0x1800d37a5
movzx r8d, byte [rax + r11]
cmp r8b, 0x20
ja 0x1800d35b1
bt rbx, r8
jae 0x1800d35b1
inc eax
sub edx, 1
je 0x1800d3588
cmp r8b, 0x20
jne 0x1800d3588
movzx r8d, byte [rax + r11]
inc eax
add edx, 0xffffffff
jne 0x1800d3576
cmp r8b, 0xd
jne 0x1800d359f
test edx, edx
je 0x1800d379e
movzx r8d, byte [rax + r11]
inc eax
dec edx
cmp r8b, 0xa
jne 0x1800d379e
test edx, edx
je 0x1800d37a5
movzx r9d, byte [rax + r11]
lea ecx, [rax + 1]
sub edx, 1
je 0x1800d37a5
movzx r8d, byte [rcx + r11]
cmp r8b, 0x20
ja 0x1800d361b
bt rbx, r8
jae 0x1800d361b
inc ecx
sub edx, 1
je 0x1800d35f2
nop word [rax + rax]
cmp r8b, 0x20
jne 0x1800d35f2
movzx r8d, byte [rcx + r11]
inc ecx
add edx, 0xffffffff
jne 0x1800d35e0
cmp r8b, 0xd
jne 0x1800d3609
test edx, edx
je 0x1800d379e
movzx r8d, byte [rcx + r11]
inc ecx
dec edx
cmp r8b, 0xa
jne 0x1800d379e
test edx, edx
je 0x1800d37a5
movzx r15d, byte [rcx + r11]
lea r8d, [rdx - 1]
inc ecx
test r8d, r8d
je 0x1800d37a5
movzx edx, byte [rcx + r11]
cmp dl, 0x20
ja 0x1800d3683
bt rbx, rdx
jae 0x1800d3683
inc ecx
sub r8d, 1
je 0x1800d3659
cmp dl, 0x20
jne 0x1800d3659
movzx edx, byte [rcx + r11]
inc ecx
add r8d, 0xffffffff
jne 0x1800d3647
cmp dl, 0xd
jne 0x1800d3671
test r8d, r8d
je 0x1800d379e
movzx edx, byte [rcx + r11]
inc ecx
dec r8d
cmp dl, 0xa
jne 0x1800d379e
test r8d, r8d
je 0x1800d37a5
movzx ebx, byte [rcx + r11]
lea r14d, [rcx + 1]
lea esi, [r8 - 1]
mov edx, r14d
mov r8d, esi
cmp r10b, 0x2b
jb 0x1800d379e
cmp r9b, 0x2b
jb 0x1800d379e
cmp r15b, 0x2b
jb 0x1800d379e
cmp bl, 0x2b
jb 0x1800d379e
cmp r10b, 0x7a
ja 0x1800d379e
cmp r9b, 0x7a
ja 0x1800d379e
cmp r15b, 0x7a
ja 0x1800d379e
cmp bl, 0x7a
ja 0x1800d379e
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 0x1800d37ac
lea rcx, [0x180115ce0]
movzx ebp, byte [r10 + rcx - 0x2b]
movzx edi, byte [r9 + rcx - 0x2b]
cmp r15b, 0x3d
jne 0x1800d3722
xor r9b, r9b
jmp 0x1800d3728
movzx r9d, byte [r15 + rcx - 0x2b]
cmp bl, 0x3d
jne 0x1800d3731
xor al, al
jmp 0x1800d3736
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 0x1800d376e
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 0x1800d3788
mov byte [r12 + r13], r10b
inc r12d
cmp esi, 3
ja 0x1800d34dc
test r13, r13
je 0x1800d3797
cmp dword [rdi], r12d
jbe 0x1800d3797
mov byte [r12 + r13], 0
mov dword [rdi], r12d
xor eax, eax
jmp 0x1800d37b1
mov eax, 0xffffff66
jmp 0x1800d37b1
mov eax, 0xffffff7c
jmp 0x1800d37b1
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