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

Disassembly:
push rbp
mov rbp, rsp
push r13
push r12
push rdi
push rsi
mov r13, rcx
push rbx
lea rsi, [0x65402560]
mov ecx, 0x40
mov r12, rdx
mov edx, 0x18
mov rbx, r8
and rsp, 0xfffffffffffffff0
sub rsp, 0x3e0
lea rdi, [rsp + 0x1e0]
rep movsq qword [rdi], qword [rsi]
lea rsi, [rsp + 0x60]
mov rcx, rsi
call fcn.6539b190
lea rcx, [rsi + 0xc0]
mov edx, 0x18
call fcn.6539b190
mov rdx, qword [r13]
mov rax, qword [r13 + 8]
lea r11, [rsi + 0x18]
mov rdi, qword [r12]
mov r12, qword [r12 + 8]
bswap rdx
bswap rax
mov rcx, rdx
mov r8, rax
mov qword [rsp + 0x120], rdx
shr rcx, 1
shr r8, 1
mov qword [rsp + 0x128], rax
mov qword [rsp + 0xc0], rcx
mov rcx, rdx
shr rcx, 2
mov qword [rsp + 0x90], rcx
mov rcx, rdx
shr rcx, 3
mov qword [rsp + 0x78], rcx
mov rcx, rdx
shl rcx, 0x3f
or rcx, r8
mov r8, rax
mov qword [rsp + 0xc8], rcx
mov rcx, rdx
shr r8, 2
shl rcx, 0x3e
shl rdx, 0x3d
or rcx, r8
mov qword [rsp + 0x98], rcx
mov rcx, rax
shr rcx, 3
or rdx, rcx
mov rcx, rax
mov qword [rsp + 0x80], rdx
mov rdx, qword [rsp + 0x130]
shl rcx, 0x3f
mov r8, rdx
shr r8, 1
or rcx, r8
mov r8, rdx
shr rdx, 3
mov qword [rsp + 0xd0], rcx
mov rcx, rax
shr r8, 2
shl rcx, 0x3e
shl rax, 0x3d
or rax, rdx
or rcx, r8
mov qword [rsp + 0x88], rax
mov qword [rsp + 0xa0], rcx
mov rax, rsi
mov r8, qword [rax + 0xc0]
mov rcx, qword [rax + 0x30]
add rax, 8
mov r10, qword [rax + 0x58]
mov rdx, r8
mov r9, r8
mov r13, r8
xor rdx, rcx
xor r9, r10
mov rsi, r10
mov qword [rax + 0xe8], rdx
mov rdx, qword [rax + 0x10]
xor rsi, rcx
mov qword [rax + 0x118], r9
mov qword [rax + 0x88], rsi
xor r10, rdx
xor r13, rdx
xor rsi, rdx
mov qword [rax + 0x70], r10
mov r10, rcx
xor rcx, r9
xor r10, rdx
xor r9, rdx
xor rdx, rcx
xor r8, r10
mov qword [rax + 0xd0], r13
mov qword [rax + 0x40], r10
mov qword [rax + 0x148], rcx
mov qword [rax + 0x130], r9
mov qword [rax + 0x100], r8
mov qword [rax + 0xa0], rsi
mov qword [rax + 0x160], rdx
cmp rax, r11
jne 0x653fbaf3
lea rsi, [rsp + 0x20]
mov edx, 0x20
mov rcx, rsi
call fcn.6539b190
lea r10, [rsi + 0x20]
mov r8d, 0x3c
nop word cs:[rax + rax]
mov ecx, r8d
mov rax, rdi
mov rdx, r12
xor ecx, 4
shr rax, cl
shr rdx, cl
and eax, 0xf
mov rcx, rdx
mov rdx, qword [rsp + 0x28]
lea r9, [rax + rax*2]
and ecx, 0xf
lea rcx, [rcx + rcx*2]
shl r9, 3
shl rcx, 3
mov rax, qword [rsp + r9 + 0x60]
xor rdx, qword [rsp + r9 + 0x68]
xor qword [rsp + 0x20], rax
mov rax, qword [rsp + r9 + 0x70]
xor rax, qword [rsp + 0x30]
xor rdx, qword [rsp + rcx + 0x60]
xor rax, qword [rsp + rcx + 0x68]
mov rcx, qword [rsp + rcx + 0x70]
xor qword [rsp + 0x38], rcx
test r8d, r8d
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], rax
je 0x653fbc4c
mov rax, rsi
xor r9d, r9d
mov rcx, qword [rax]
add rax, 8
mov rdx, rcx
shl rcx, 0x3c
shr rdx, 4
or rdx, r9
mov r9, rcx
mov qword [rax - 8], rdx
cmp rax, r10
jne 0x653fbc22
sub r8d, 4
jmp 0x653fbbb0
bswap rax
mov rcx, qword [rsp + 0x20]
lea r8, [rsp + 0x40]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x38]
bswap rdx
mov qword [rsp + 0x48], rdx
lea r9, [rsp + 0x3f]
lea rdx, [r8 + 0xf]
bswap rcx
bswap rax
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x58], rax
movzx eax, byte [rdx + 0x10]
lea ecx, [rax + rax]
mov rax, rcx
movzx ecx, byte [rsp + rcx + 0x1e0]
add eax, 1
xor byte [rdx], cl
movzx eax, byte [rsp + rax + 0x1e0]
xor byte [rdx + 1], al
sub rdx, 1
cmp r9, rdx
jne 0x653fbc84
xor eax, eax
movzx edx, byte [r8 + rax]
mov byte [rbx + rax], dl
add rax, 1
cmp rax, 0x10
jne 0x653fbcb1
lea rsp, [rbp - 0x28]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop rbp
ret