Function at 0x1400e46f8
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x38
mov r12, r8
mov rdi, rcx
xor r10d, r10d
mov dword [rax - 0x54], r10d
mov qword [rcx + 0x10], r10
mov qword [rcx + 0x18], 7
mov word [rcx], r10w
mov dword [rax - 0x54], 1
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp r8, 3
jb 0x1400e4c16
movabs r9, 0x7ffffffffffffffe
movabs r11, 0x7fffffffffffffff
movzx ecx, byte [rdx]
mov r8b, byte [rdx + 1]
mov r14b, cl
and r14b, 3
shl r14b, 4
mov al, r8b
shr al, 4
or r14b, al
mov byte [rsp + 0x90], r14b
mov dl, byte [rdx + 2]
and r8b, 0xf
shl r8b, 2
mov al, dl
shr al, 6
or r8b, al
mov byte [rsp + 0x98], r8b
and dl, 0x3f
mov byte [rsp + 0x20], dl
shr rcx, 2
movsx r13d, byte [rcx + r15]
mov r14, qword [rdi + 0x10]
mov r15, qword [rdi + 0x18]
cmp r14, r15
jae 0x1400e47db
lea rax, [r14 + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r15, 8
jb 0x1400e47cb
mov rax, qword [rdi]
mov word [rax + r14*2], r13w
mov word [rax + r14*2 + 2], r10w
jmp 0x1400e48a8
mov rax, r9
sub rax, r14
cmp rax, 1
jb 0x1400e4e25
lea rbp, [r14 + 1]
mov rbx, rbp
or rbx, 7
cmp rbx, r9
jbe 0x1400e4803
mov rbx, r9
mov rcx, r11
jmp 0x1400e482c
mov rcx, r15
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp r15, rax
ja 0x1400e47fb
lea rax, [r15 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, r11
ja 0x1400e4e2b
add rcx, rcx
call fcn.1400160c8
mov rsi, rax
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], rbx
add r14, r14
mov r8, r14
mov rcx, rax
cmp r15, 8
jb 0x1400e487b
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.1402265a0
mov word [rsi + r14], r13w
xor eax, eax
mov word [rsi + r14 + 2], ax
lea rdx, [r15*2 + 2]
mov rcx, rbx
call fcn.140016264
xor r10d, r10d
jmp 0x1400e4891
mov rdx, rdi
call fcn.1402265a0
mov word [rsi + r14], r13w
xor r10d, r10d
mov word [rsi + r14 + 2], r10w
movabs r11, 0x7fffffffffffffff
movabs r9, 0x7ffffffffffffffe
mov qword [rdi], rsi
movzx eax, byte [rsp + 0x90]
lea rcx, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r15d, byte [rax + rcx]
mov rsi, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
cmp rsi, r14
jae 0x1400e48ed
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r14, 8
jb 0x1400e48dd
mov rax, qword [rdi]
mov word [rax + rsi*2], r15w
mov word [rax + rsi*2 + 2], r10w
jmp 0x1400e49a5
mov rax, r9
sub rax, rsi
cmp rax, 1
jb 0x1400e4e25
lea r13, [rsi + 1]
mov rbx, r13
or rbx, 7
cmp rbx, r9
jbe 0x1400e4915
mov rbx, r9
mov rcx, r11
jmp 0x1400e493e
mov rcx, r14
shr rcx, 1
mov rax, r9
sub rax, rcx
cmp r14, rax
ja 0x1400e490d
lea rax, [r14 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, r11
ja 0x1400e4e2b
add rcx, rcx
call fcn.1400160c8
mov rbp, rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r14, 8
jb 0x1400e498c
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.1402265a0
mov word [rsi + rbp], r15w
xor eax, eax
mov word [rsi + rbp + 2], ax
lea rdx, [r14*2 + 2]
mov rcx, rbx
call fcn.140016264
xor r10d, r10d
jmp 0x1400e49a2
mov rdx, rdi
call fcn.1402265a0
mov word [rsi + rbp], r15w
xor r10d, r10d
mov word [rsi + rbp + 2], r10w
mov qword [rdi], rbp
movzx eax, byte [rsp + 0x98]
lea r9, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx ebp, byte [rax + r9]
mov rsi, qword [rdi + 0x10]
mov r15, qword [rdi + 0x18]
cmp rsi, r15
jae 0x1400e49e9
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r15, 8
jb 0x1400e49da
mov rax, qword [rdi]
mov word [rax + rsi*2], bp
mov word [rax + rsi*2 + 2], r10w
jmp 0x1400e4abd
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, rsi
cmp rax, 1
jb 0x1400e4e25
lea r13, [rsi + 1]
mov rbx, r13
or rbx, 7
cmp rbx, rdx
jbe 0x1400e4a22
mov rbx, rdx
movabs rcx, 0x7fffffffffffffff
jmp 0x1400e4a55
mov rcx, r15
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r15, rax
ja 0x1400e4a13
lea rax, [r15 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1400e4e2b
add rcx, rcx
call fcn.1400160c8
mov r14, rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r15, 8
jb 0x1400e4aa4
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.1402265a0
mov word [r14 + rsi], bp
xor eax, eax
mov word [r14 + rsi + 2], ax
lea rdx, [r15*2 + 2]
mov rcx, rbx
call fcn.140016264
xor r10d, r10d
jmp 0x1400e4aba
mov rdx, rdi
call fcn.1402265a0
mov word [r14 + rsi], bp
xor r10d, r10d
mov word [r14 + rsi + 2], r10w
mov qword [rdi], r14
movzx eax, byte [rsp + 0x20]
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movsx r15d, byte [rax + rsi]
mov rsi, qword [rdi + 0x10]
mov r14, qword [rdi + 0x18]
cmp rsi, r14
jae 0x1400e4aff
lea rax, [rsi + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp r14, 8
jb 0x1400e4aef
mov rax, qword [rdi]
mov word [rax + rsi*2], r15w
mov word [rax + rsi*2 + 2], r10w
jmp 0x1400e4bd2
movabs rdx, 0x7ffffffffffffffe
mov rax, rdx
sub rax, rsi
cmp rax, 1
jb 0x1400e4e25
lea r13, [rsi + 1]
mov rbx, r13
or rbx, 7
cmp rbx, rdx
jbe 0x1400e4b38
mov rbx, rdx
movabs rcx, 0x7fffffffffffffff
jmp 0x1400e4b6b
mov rcx, r14
shr rcx, 1
mov rax, rdx
sub rax, rcx
cmp r14, rax
ja 0x1400e4b29
lea rax, [r14 + rcx]
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
movabs rax, 0x7fffffffffffffff
cmp rcx, rax
ja 0x1400e4e2b
add rcx, rcx
call fcn.1400160c8
mov rbp, rax
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], rbx
add rsi, rsi
mov r8, rsi
mov rcx, rax
cmp r14, 8
jb 0x1400e4bb9
mov rbx, qword [rdi]
mov rdx, rbx
call fcn.1402265a0
mov word [rsi + rbp], r15w
xor eax, eax
mov word [rsi + rbp + 2], ax
lea rdx, [r14*2 + 2]
mov rcx, rbx
call fcn.140016264
xor r10d, r10d
jmp 0x1400e4bcf
mov rdx, rdi
call fcn.1402265a0
mov word [rsi + rbp], r15w
xor r10d, r10d
mov word [rsi + rbp + 2], r10w
mov qword [rdi], rbp
sub r12, 3
mov rdx, qword [rsp + 0x88]
add rdx, 3
mov qword [rsp + 0x88], rdx
cmp r12, 3
movabs r9, 0x7ffffffffffffffe
movabs r11, 0x7fffffffffffffff
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
jae 0x1400e475c
lea r15, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
sub r12, 1
je 0x1400e4d1e
cmp r12, 1
jne 0x1400e4e11
movzx ecx, byte [rdx]
mov sil, byte [rdx + 1]
mov bl, cl
and bl, 3
shl bl, 4
mov al, sil
shr al, 4
or bl, al
and sil, 0xf
shl sil, 2
shr rcx, 2
movsx r9d, byte [rcx + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400e4c7e
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400e4c71
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e4c89
mov rcx, rdi
call fcn.14002d5ec
xor r10d, r10d
movzx eax, bl
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400e4cbd
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400e4cb0
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e4cc8
mov rcx, rdi
call fcn.14002d5ec
xor r10d, r10d
movzx eax, sil
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400e4cfd
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400e4cf0
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e4d05
mov rcx, rdi
call fcn.14002d5ec
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jb 0x1400e4de8
mov r9d, 0x3d
jmp 0x1400e4e09
movzx eax, byte [rdx]
mov bl, al
and bl, 3
shl bl, 4
shr rax, 2
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400e4d5e
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400e4d51
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e4d69
mov rcx, rdi
call fcn.14002d5ec
xor r10d, r10d
movzx eax, bl
movsx r9d, byte [rax + r15]
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400e4d9d
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400e4d90
mov rax, qword [rdi]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r10w
jmp 0x1400e4da5
mov rcx, rdi
call fcn.14002d5ec
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400e4dce
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400e4dc4
mov rax, qword [rdi]
mov ebx, 0x3d
mov dword [rax + rcx*2], ebx
jmp 0x1400e4dde
mov ebx, 0x3d
mov r9d, ebx
mov rcx, rdi
call fcn.14002d5ec
mov rcx, qword [rdi + 0x10]
cmp rcx, qword [rdi + 0x18]
jae 0x1400e4e06
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp qword [rdi + 0x18], 8
jb 0x1400e4dfd
mov rax, qword [rdi]
mov dword [rax + rcx*2], 0x3d
jmp 0x1400e4e11
mov r9d, ebx
mov rcx, rdi
call fcn.14002d5ec
mov rax, rdi
add rsp, 0x38
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
call fcn.140015ffc
int3
call fcn.1400160a8
int3