Function at 0x18004dbf0
Capabilities:
Encode data using base64

Disassembly:
push r13
push r15
sub rsp, 0x38
mov r9d, r8d
mov r10d, r8d
shr r9d, 0x1b
mov r13, rdx
shr r10d, 0x1c
and r9b, 1
and r10b, 1
mov r15, rcx
bt r8d, 0xe
jae 0x18004dc24
cmp byte [rdx], 0
je 0x18004dc24
mov dl, 1
jmp 0x18004dc26
xor dl, dl
mov qword [rsp + 0x28], rdi
test r15, r15
je 0x18004dc3c
mov rdi, r15
xor eax, eax
mov ecx, 0x158
rep stosb byte [rdi], al
test r9b, r9b
je 0x18004dc85
or qword [r15 + 0x38], 2
movabs rax, 0x200000000
or qword [r15 + 8], 2
or qword [r15 + 0x38], 4
or qword [r15 + 8], 4
or qword [r15 + 0x38], 8
or qword [r15 + 8], 8
or qword [r15 + 0x38], 0x10
or qword [r15 + 8], 0x10
or qword [r15 + 0x38], 0x20
or qword [r15 + 8], 0x20
or qword [r15 + 0x40], rax
or qword [r15 + 0x10], rax
test r10b, r10b
je 0x18004dcb4
or qword [r15 + 0x40], 0x10
or qword [r15 + 0x10], 0x10
or qword [r15 + 0x48], 0x2000
or qword [r15 + 0x18], 0x2000
or qword [r15 + 0x48], 0x4000
or qword [r15 + 0x18], 0x4000
test dl, dl
je 0x18004e0ba
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x30], rsi
mov esi, 1
mov ebx, esi
mov qword [rsp + 0x20], r14
mov ecx, esi
call fcn.18004d320
cmp eax, 0xffffffff
je 0x18004dd7d
mov edx, eax
mov rcx, r13
call fcn.18004cce0
mov rdi, rbx
mov r8d, eax
shr rdi, 6
test eax, 0xfedbffff
je 0x18004dd15
movzx ecx, bl
mov edx, 1
and cl, 0x3f
shl rdx, cl
or qword [r15 + rdi*8 + 8], rdx
mov rcx, rbx
and ecx, 0x3f
test r8b, 1
je 0x18004dd2e
mov eax, 1
shl rax, cl
or qword [r15 + rdi*8 + 0x20], rax
mov eax, 1
shl rax, cl
test r8b, 4
je 0x18004dd49
or qword [r15 + rdi*8 + 0x50], rax
or qword [r15 + rdi*8 + 0x140], rax
test r8b, 2
je 0x18004dd54
or qword [r15 + rdi*8 + 0x68], rax
test r8d, 0x118
je 0x18004dd67
or qword [r15 + rdi*8 + 0xc8], rax
jmp 0x18004dd6e
mov rdi, rbx
shr rdi, 6
bt r8d, 0xe
jae 0x18004dd7d
or qword [r15 + rdi*8 + 0x98], rax
inc esi
inc rbx
cmp esi, 0x99
jl 0x18004dcd7
cmp dword [r13 + 0x11c], 0
je 0x18004dda9
movabs rax, 0x31e0700001e
or qword [r15 + 0x80], rax
movabs rax, 0x2048201480
mov edx, 1
or qword [r15 + 8], rax
mov edi, edx
or qword [r15 + 0x20], 0x48201000
movabs r9, 0x2000004000000780
or qword [r15 + 0x50], 0x48201000
movabs r10, 0x4001c0000000011
or qword [r15 + 0x140], 0x48201000
or qword [r15 + 0x68], 0x48201000
nop word [rax + rax]
movzx ecx, dil
mov r8d, 1
and cl, 0x3f
shl r8, cl
mov rcx, rdi
shr rcx, 6
test qword [r15 + rcx*8 + 8], r8
je 0x18004de3f
cmp edx, 0x3d
ja 0x18004de29
bt r9, rdx
jb 0x18004de37
lea eax, [rdx - 0x4c]
cmp eax, 0x3a
ja 0x18004de3f
bt r10, rax
jae 0x18004de3f
or qword [r15 + rcx*8 + 0xe0], r8
inc edx
inc rdi
cmp edx, 0x99
jl 0x18004de00
mov r10d, 1
lea r9, [r13 + 0x184]
mov r11d, 0x98
nop
mov r8d, dword [r9]
test r8b, 1
je 0x18004def2
mov rdx, r10
movzx ecx, r10b
shr rdx, 6
and cl, 0x3f
mov edi, 1
shl rdi, cl
or qword [r15 + rdx*8 + 8], rdi
test r8b, 0x20
je 0x18004de93
or qword [r15 + rdx*8 + 0x20], rdi
test r8b, 0x40
je 0x18004dea6
or qword [r15 + rdx*8 + 0x50], rdi
or qword [r15 + rdx*8 + 0x140], rdi
test r8b, r8b
jns 0x18004deb0
or qword [r15 + rdx*8 + 0x68], rdi
test r8b, 4
je 0x18004dec6
or qword [r15 + rdx*8 + 0x80], rdi
or qword [r15 + rdx*8 + 0xc8], rdi
test r8b, 8
je 0x18004ded4
or qword [r15 + rdx*8 + 0xe0], rdi
bt r8d, 8
jae 0x18004dee3
or qword [r15 + rdx*8 + 0xb0], rdi
bt r8d, 9
jae 0x18004def2
or qword [r15 + rdx*8 + 0x128], rdi
inc r10
add r9, 4
sub r11, 1
jne 0x18004de60
movabs rax, 0xfffdffffffffffff
movabs rcx, 0x7fffffffffffffff
and qword [r15 + 0x58], rax
mov ebx, 1
and qword [r15 + 0x60], 0xfffffffffeffffff
movabs rax, 0xffffe7ffffffffff
and qword [r15 + 0x50], rax
mov r14d, ebx
movabs rax, 0xfffffffdffffffff
and qword [r15 + 0x58], rax
movabs rax, 0xffffffff7fffffff
and qword [r15 + 0x88], rax
movabs rax, 0xff7fffffffffffff
and qword [r15 + 0x80], rax
mov rax, qword [r15 + 0x88]
btr rax, 0x1a
and rax, rcx
mov qword [r15 + 0x88], rax
and qword [r15 + 0x90], 0xffffffffffffffeb
nop word [rax + rax]
mov rsi, r14
movzx ecx, r14b
and cl, 0x3f
shr rsi, 6
mov ebp, 1
shl rbp, cl
test qword [r15 + rsi*8 + 0xc8], rbp
jne 0x18004dffd
cmp dword [r13 + 0x16c], 0
je 0x18004e005
mov edi, 1
nop
movsxd rdx, edi
movzx eax, dl
shr rdx, 6
and al, 0x3f
movzx ecx, al
mov rax, qword [r15 + rdx*8 + 0xc8]
bt rax, rcx
jae 0x18004dff1
xor r9d, r9d
mov r8d, edi
mov edx, ebx
mov rcx, r15
call fcn.18004da60
test al, al
jne 0x18004dffd
inc edi
cmp edi, 0x99
jl 0x18004dfc0
jmp 0x18004e005
or qword [r15 + rsi*8 + 0xf8], rbp
inc ebx
inc r14
cmp ebx, 0x99
jl 0x18004df90
mov ebx, 1
mov r14d, ebx
nop
mov rsi, r14
movzx ecx, r14b
and cl, 0x3f
shr rsi, 6
mov ebp, 1
shl rbp, cl
test qword [r15 + rsi*8 + 0xe0], rbp
jne 0x18004e08d
cmp dword [r13 + 0x16c], 0
je 0x18004e095
mov edi, 1
nop
movsxd rdx, edi
movzx eax, dl
shr rdx, 6
and al, 0x3f
movzx ecx, al
mov rax, qword [r15 + rdx*8 + 0xe0]
bt rax, rcx
jae 0x18004e081
xor r9d, r9d
mov r8d, edi
mov edx, ebx
mov rcx, r15
call fcn.18004da60
test al, al
jne 0x18004e08d
inc edi
cmp edi, 0x99
jl 0x18004e050
jmp 0x18004e095
or qword [r15 + rsi*8 + 0x110], rbp
inc ebx
inc r14
cmp ebx, 0x99
jl 0x18004e020
mov r14, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x28]
add rsp, 0x38
pop r15
pop r13
ret