Function at 0x7ff7ed3918b8
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
test edx, edx
jle 0x7ff7ed391e0c
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xb0
xor eax, eax
mov r13, rcx
mov qword [rsp + 0x30], rax
lea rax, [r11 - 0x58]
sub rax, r13
movsxd rcx, edx
mov qword [rsp + 0x68], rax
lea rax, [r11 - 0x50]
sub rax, r13
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x70], rax
lea r10, [r13 + 0xa8]
mov rbp, qword [rsp + 0xf0]
mov r8, qword [r13 + 0x28]
mov rdx, qword [r13 + 0xa0]
mov rax, qword [r13 + 0x58]
mov rsi, qword [rbp + 0x98]
mov rbx, qword [r13 + 0x88]
mov rcx, qword [r13 + 0xb0]
mov r11, qword [r13]
mov r9, qword [r13 + 0x30]
mov r12, r11
mov r15, qword [r10]
xor r12, r8
xor r12, qword [r13 + 0x50]
mov r10, qword [r13 + 0x60]
mov r14, qword [r13 + 0x78]
mov rdi, qword [r13 + 0x40]
xor r12, r14
xor r12, rdx
mov qword [rsp + 8], rdx
mov rdx, qword [r13 + 0x10]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x10], r8
mov r8, qword [r13 + 8]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r8
xor r8, r9
xor r8, rax
mov qword [rsp], rsi
mov rax, qword [r13 + 0x38]
xor r8, qword [r13 + 0x80]
xor rdx, rax
xor rdx, r10
mov qword [rsp + 0x50], rax
mov rax, qword [r13 + 0x18]
xor rdx, rbx
mov rbx, qword [r13 + 0xb8]
xor rdx, rcx
mov qword [rsp + 0x20], rbx
xor r8, r15
mov qword [rsp + 0x38], rax
xor rax, rdi
mov qword [rsp + 0x100], rcx
mov rcx, qword [r13 + 0x68]
xor rax, rcx
mov qword [rsp + 0x108], rcx
mov rcx, qword [rbp + 0x70]
xor rax, qword [r13 + 0x90]
mov r13, qword [r13 + 0xc0]
xor rax, rbx
mov rbx, qword [rbp + 0x20]
mov qword [rsp + 0x18], rbx
xor rbx, qword [rbp + 0x48]
mov rbp, r8
xor rbx, rcx
ror rbp, 0x3f
xor rbx, rsi
mov rsi, rdx
xor rbx, r13
ror rsi, 0x3f
xor rbp, rbx
xor rsi, r12
xor r11, rbp
ror rbx, 0x3f
xor r9, rsi
mov qword [rsp + 0x60], r11
xor rbx, rdx
ror r12, 0x3f
mov rdx, r9
xor r12, rax
shr r9, 0x14
mov r11, rax
ror r11, 0x3f
xor r11, r8
shl rdx, 0x2c
mov r8, qword [rsp + 0xf0]
or rdx, r9
xor r10, r11
mov r9, qword [r8 + 0x48]
xor r9, r12
ror r9, 0x2c
mov rax, qword [rsp + 0x100]
xor rcx, r12
xor rax, r11
ror rcx, 0x19
ror rax, 3
xor rdi, rbx
mov qword [rsp + 0x100], rax
xor r14, rbp
mov rax, qword [rsp + 8]
xor r15, rsi
xor rax, rbp
mov qword [r8 + 0xb0], rcx
ror rax, 0x2e
mov rcx, r10
mov qword [rsp + 8], rax
xor r13, r12
mov rax, qword [rsp + 0x28]
xor rax, r11
ror rdi, 9
ror rax, 2
mov qword [r8 + 0xa0], rax
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x108]
xor rax, rbx
mov qword [r8 + 0xa8], rdi
mov rdi, qword [r8 + 0x80]
ror rax, 0x27
xor rdi, rsi
mov qword [rsp + 0x108], rax
mov rax, qword [rsp]
xor rax, r12
shr r10, 0x15
ror rax, 0x38
mov qword [rsp], rax
mov rax, qword [rsp + 0x20]
xor rax, rbx
ror r14, 0x17
ror rax, 8
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x18]
xor rax, r12
mov qword [r8 + 0xb8], r14
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
xor r12, rsi
ror rax, 0x25
xor r14, r11
mov qword [rsp + 0x18], rax
mov rax, qword [rsp + 0x10]
xor rax, rbp
ror r15, 0x3e
ror rax, 0x1c
mov qword [r8 + 0xc0], r15
mov r15, qword [rsp + 0x40]
mov qword [rsp + 0x10], rax
xor r15, r11
mov r11, qword [rsp + 0x60]
mov rax, r8
shl rcx, 0x2b
or rcx, r10
ror r13, 0x32
mov r10, qword [rsp + 0x38]
mov r8, qword [rax + 0x90]
xor r10, rbx
xor r8, rbx
ror rdi, 0x13
mov rbx, qword [rax + 0x50]
mov rax, rdx
xor rbx, rbp
ror r10, 0x24
mov rbp, qword [rsp + 0x58]
not rax
xor rbp, rsi
ror r8, 0x2b
ror rbp, 0x3f
and rax, rcx
ror r15, 0x31
ror r12, 0x36
ror r14, 0x3a
ror rbx, 0x3d
xor rax, r11
mov rsi, qword [rsp + 0xf0]
mov qword [rsi], rax
mov rax, rcx
not rax
and rax, r8
xor rax, rdx
mov qword [rsi + 8], rax
mov rax, r8
not rax
and rax, r13
xor rax, rcx
mov rcx, qword [rsp + 0x100]
mov qword [rsi + 0x10], rax
mov rax, r13
not rax
and rax, r11
not r11
xor rax, r8
and r11, rdx
mov qword [rsi + 0x18], rax
xor r11, r13
mov rdx, qword [rsp + 8]
mov r13, rsi
mov r8, qword [rsp + 0x10]
mov rax, r9
not rax
mov qword [rsi + 0x20], r11
and rax, rbx
xor rax, r10
mov qword [rsi + 0x28], rax
mov rax, rbx
not rax
and rax, rdi
xor rax, r9
mov qword [rsi + 0x30], rax
mov rax, rdi
not rax
and rax, rcx
xor rax, rbx
mov qword [rsi + 0x38], rax
mov rax, rcx
not rax
and rax, r10
not r10
xor rax, rdi
and r10, r9
mov qword [rsi + 0x40], rax
xor r10, rcx
mov rcx, qword [rsp + 0x108]
mov rax, r14
not rax
mov qword [rsi + 0x48], r10
and rax, rcx
xor rax, rbp
mov qword [rsi + 0x50], rax
mov rax, rcx
mov rsi, qword [rsp]
not rax
and rax, rsi
xor rax, r14
mov qword [r13 + 0x58], rax
mov rax, rsi
not rax
and rax, rdx
xor rax, rcx
mov rcx, qword [rsp + 0x18]
mov qword [r13 + 0x60], rax
mov rax, rdx
not rax
and rax, rbp
not rbp
xor rax, rsi
and rbp, r14
mov qword [r13 + 0x68], rax
xor rbp, rdx
mov rax, r8
mov qword [r13 + 0x70], rbp
not rax
and rax, r12
xor rax, rcx
mov qword [r13 + 0x78], rax
mov rbx, qword [rsp + 0x20]
lea r10, [r13 + 0xa8]
mov rdx, qword [rsp + 0x28]
mov rax, r12
not rax
mov qword [rsp + 0x80], rdx
and rax, r15
mov r9d, 2
xor rax, r8
mov qword [r13 + 0x80], rax
mov rax, r15
not rax
and rax, rbx
xor rax, r12
mov qword [r13 + 0x88], rax
mov rax, rbx
not rax
and rax, rcx
not rcx
and rcx, r8
xor rax, r15
mov r8, qword [rsp + 0x70]
xor rcx, rbx
mov qword [r13 + 0x98], rcx
mov qword [r13 + 0x90], rax
movups xmm1, xmmword [r10]
movups xmm0, xmmword [r10 + 0x10]
movq r11, xmm1
mov rcx, r11
not rcx
and rcx, qword [r10 + 8]
xor rcx, rdx
mov qword [r13 + 0xa0], rcx
mov rcx, r10
mov r13, qword [rsp + 0x68]
movups xmmword [rsp + 0x88], xmm1
movups xmmword [rsp + 0x98], xmm0
mov rax, qword [rcx + r13 - 0xa8]
not rax
and rax, qword [r8 + rcx - 0xa8]
xor qword [rcx], rax
lea rcx, [rcx + 8]
sub r9, 1
jne 0x7ff7ed391d81
mov r13, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0xa0]
not rax
and rax, rdx
not rdx
xor qword [r13 + 0xb8], rax
and rdx, r11
xor qword [r13 + 0xc0], rdx
lea rax, [0x7ff7ed6f1b30]
mov rax, qword [rax + rcx*8]
inc rcx
xor qword [r13], rax
mov qword [rsp + 0x30], rcx
cmp rcx, qword [rsp + 0x78]
jl 0x7ff7ed39190e
mov rbx, qword [rsp + 0xf8]
add rsp, 0xb0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret