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

Disassembly:
push rbp
push r14
push r13
push rdi
push rsi
push rbx
sub rsp, 0x2c8
mov rbp, rsp
mov qword [rbp + 0x20], rcx
mov rax, qword [rcx + 0x90]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0x98]
mov qword [rbp + 0x30], rax
mov rax, qword [rbp + 0x20]
mov rax, qword [rax + 0xa0]
mov qword [rbp + 0x38], rax
mov rax, qword [rbp + 0x20]
mov rbx, qword [rax + 0xa8]
mov rax, qword [rbp + 0x20]
mov rsi, qword [rax + 0xb0]
mov rax, qword [rbp + 0x20]
mov rdi, qword [rax + 0xb8]
mov rax, qword [rbp + 0x20]
mov r13, qword [rax + 0xc0]
mov rax, qword [rbp + 0x20]
mov r14, qword [rax + 0xc8]
mov rcx, qword [rbp + 0x20]
lea rdx, [rbp + 0x40]
mov r8d, 0x80
call fcn.00409480
mov r8d, 0x10
lea rcx, [rbp + 0x40]
mov rax, qword [rcx]
mov edx, eax
shr rax, 0x20
mov r9d, edx
shr r9d, 0x18
mov r10d, edx
shl r10d, 0x18
or r9d, r10d
mov r10d, edx
shr r10d, 8
and r10d, 0xff00
or r9d, r10d
shl edx, 8
and edx, 0xff0000
or r9d, edx
mov r9d, r9d
shl r9, 0x20
mov edx, eax
shr edx, 0x18
mov r10d, eax
shl r10d, 0x18
or edx, r10d
mov r10d, eax
shr r10d, 8
and r10d, 0xff00
or edx, r10d
shl eax, 8
and eax, 0xff0000
or edx, eax
mov edx, edx
or r9, rdx
mov qword [rcx], r9
add rcx, 8
sub r8d, 1
test r8d, r8d
jne 0x50abc3
nop
mov eax, 0x10
lea r8, [rbp + 0xc0]
mov ecx, eax
sub ecx, 0xf
movsxd rcx, ecx
mov r9, qword [rbp + rcx*8 + 0x40]
mov rcx, r9
mov rdx, r9
mov r10, rcx
shl r10, 0x3f
shr rcx, 1
or r10, rcx
mov rcx, rdx
shl rcx, 0x38
shr rdx, 8
or rcx, rdx
xor r10, rcx
shr r9, 7
xor r10, r9
mov rcx, r10
mov edx, eax
sub edx, 2
movsxd rdx, edx
mov r9, qword [rbp + rdx*8 + 0x40]
mov rdx, r9
mov r10, rdx
shl r10, 0x2d
shr rdx, 0x13
or r10, rdx
mov rdx, r9
add rdx, rdx
add rdx, rdx
add rdx, rdx
shr r9, 0x3d
or rdx, r9
xor r10, rdx
mov edx, eax
sub edx, 2
movsxd rdx, edx
mov rdx, qword [rbp + rdx*8 + 0x40]
shr rdx, 6
xor r10, rdx
mov rdx, r10
mov r9d, eax
sub r9d, 0x10
movsxd r9, r9d
mov r9, qword [rbp + r9*8 + 0x40]
lea r9, [r9 + rcx]
mov ecx, eax
sub ecx, 7
movsxd rcx, ecx
mov rcx, qword [rbp + rcx*8 + 0x40]
lea r9, [r9 + rcx]
lea rcx, [r9 + rdx]
mov qword [r8], rcx
add eax, 1
add r8, 8
cmp eax, 0x50
jne 0x50ac4e
nop
mov r10d, 0x50
lea r8, [0x00751bf0]
lea r9, [rbp + 0x40]
mov rcx, qword [rbp + 0x28]
shl rcx, 0x24
mov rax, qword [rbp + 0x28]
shr rax, 0x1c
or rcx, rax
mov rax, qword [rbp + 0x28]
shl rax, 0x1e
mov rdx, qword [rbp + 0x28]
shr rdx, 0x22
or rax, rdx
xor rcx, rax
mov rax, qword [rbp + 0x28]
shl rax, 0x19
mov rdx, qword [rbp + 0x28]
shr rdx, 0x27
or rax, rdx
xor rcx, rax
mov rax, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x30]
and rax, rdx
mov rdx, qword [rbp + 0x28]
mov r11, qword [rbp + 0x38]
and rdx, r11
xor rax, rdx
mov rdx, qword [rbp + 0x30]
mov r11, qword [rbp + 0x38]
and rdx, r11
xor rax, rdx
lea rcx, [rcx + rax]
mov rdx, rsi
shl rdx, 0x32
mov rax, rsi
shr rax, 0xe
or rdx, rax
mov rax, rsi
shl rax, 0x2e
mov r11, rsi
shr r11, 0x12
or rax, r11
xor rdx, rax
mov rax, rsi
shl rax, 0x17
mov r11, rsi
shr r11, 0x29
or rax, r11
xor rdx, rax
lea rax, [r14 + rdx]
mov rdx, rsi
and rdx, rdi
mov r11, rsi
not r11
and r11, r13
xor rdx, r11
lea rax, [rax + rdx]
mov rdx, qword [r8]
lea rax, [rax + rdx]
mov rdx, qword [r9]
lea rax, [rax + rdx]
mov r14, r13
mov r13, rdi
mov rdi, rsi
lea rsi, [rbx + rax]
mov rbx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x30]
mov qword [rbp + 0x38], rdx
mov rdx, qword [rbp + 0x28]
mov qword [rbp + 0x30], rdx
lea rax, [rax + rcx]
mov qword [rbp + 0x28], rax
add r9, 8
add r8, 8
sub r10d, 1
test r10d, r10d
jne 0x50ad22
nop
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x20]
add qword [rcx + 0x90], rax
mov rax, qword [rbp + 0x30]
add qword [rcx + 0x98], rax
mov rax, qword [rbp + 0x38]
add qword [rcx + 0xa0], rax
add qword [rcx + 0xa8], rbx
add qword [rcx + 0xb0], rsi
add qword [rcx + 0xb8], rdi
add qword [rcx + 0xc0], r13
add qword [rcx + 0xc8], r14
lea rsp, [rbp + 0x2c8]
pop rbx
pop rsi
pop rdi
pop r13
pop r14
pop rbp
ret