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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x2f8
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x240], xmm6
movaps xmmword [rbp + 0x250], xmm7
movaps xmmword [rbp + 0x260], xmm8
lea rax, [rbp - 0x40]
mov qword [rbp + 0x2c0], rcx
mov r12, rdx
mov rdx, r8
mov rsi, rax
mov rcx, rax
lea r8, [0x023f4620]
mov qword [rbp - 0x58], rax
call fcn.008f8f30
mov rdx, rsi
mov rcx, rsi
call fcn.008f9660
mov eax, 0x1000
call fcn.017c4f30
mov r15d, 1
pxor xmm7, xmm7
pcmpeqd xmm6, xmm6
mov ebx, 0x1bd
sub rsp, rax
mov rdx, r12
lea rsi, [rbp + 0xc0]
lea r14, [rsp + 0x20]
lea r13, [rbp + 0x40]
mov rcx, r14
lea r12, [rbp + 0x140]
call fcn.008f2ef0
mov rax, qword [rbp - 0x10]
mov qword [rbp - 0x50], rsi
mov rsi, rbp
shr rax, 0x3d
nop dword [rax]
and eax, 0x1f
mov ecx, 0x20
mov rdi, r13
xor r8d, r8d
mov rdx, rax
pxor xmm1, xmm1
shr rdx, 4
sub rdx, 1
xor rax, rdx
and eax, 0xf
movd xmm4, eax
xor eax, eax
rep stosq qword [rdi], rax
pshufd xmm3, xmm4, 0
nop dword [rax]
movdqa xmm2, xmm3
lea rcx, [r14 + r8]
mov rdi, r13
mov rax, r13
pcmpeqd xmm2, xmm7
jmp 0x8f42ec
movdqa xmm1, xmmword [rax]
movdqa xmm0, xmmword [rcx]
add rax, 0x10
add rcx, 0x10
pand xmm0, xmm2
por xmm0, xmm1
movaps xmmword [rax - 0x10], xmm0
cmp r12, rax
jne 0x8f42e8
add r8, 0x100
movdqa xmm1, xmmword [rbp + 0x40]
paddd xmm3, xmm6
cmp r8, 0x1000
jne 0x8f42d0
movd xmm5, edx
lea rax, [r13 + 0x40]
mov rdx, r13
pshufd xmm8, xmm5, 0
jmp 0x8f433c
movdqa xmm1, xmmword [rdx]
movdqa xmm0, xmmword [rdx + 0x40]
add rdx, 0x10
pxor xmm0, xmm1
movdqa xmm2, xmm0
pand xmm2, xmm8
pxor xmm1, xmm2
pxor xmm2, xmmword [rdx + 0x30]
movaps xmmword [rdx - 0x10], xmm1
movaps xmmword [rdx + 0x30], xmm2
cmp rax, rdx
jne 0x8f4338
mov r8, qword [rbp - 0x50]
lea rdx, [0x023f46a0]
mov rcx, rsi
mov qword [rbp - 0x48], rax
call fcn.008fa700
mov rax, qword [rbp - 0x48]
mov rdx, rsi
nop word cs:[rax + rax]
movdqa xmm0, xmmword [rdi + 0x80]
pxor xmm0, xmmword [rdx]
add rdi, 0x10
add rdx, 0x10
pand xmm0, xmm8
pxor xmm0, xmmword [rdi + 0x70]
movaps xmmword [rdi + 0x70], xmm0
cmp rax, rdi
jne 0x8f4390
test r15d, r15d
je 0x8f441b
mov rdx, r13
mov rcx, r12
sub ebx, 5
call fcn.008f1c60
cmp ebx, 0xfffffffb
je 0x8f44ad
mov edx, ebx
mov r8d, ebx
mov ecx, ebx
sar edx, 6
and r8d, 0x3f
movsxd rax, edx
mov rax, qword [rbp + rax*8 - 0x40]
shr rax, cl
cmp ebx, 0x17f
jg 0x8f4413
cmp r8d, 0x3a
jle 0x8f4413
add edx, 1
mov ecx, 0x40
movsxd rdx, edx
sub ecx, r8d
mov rdx, qword [rbp + rdx*8 - 0x40]
shl rdx, cl
xor rax, rdx
xor r15d, r15d
jmp 0x8f4298
mov edi, 4
mov r8d, 0xffffffff
mov rdx, r12
mov rcx, r12
call fcn.008f2230
sub edi, 1
jne 0x8f4420
xor r8d, r8d
mov rdx, r12
mov rcx, r12
call fcn.008f2230
lea rdx, [rbp + 0x1c0]
lea r8, [rbp + 0x100]
mov rcx, rsi
call fcn.008f9720
movdqa xmm4, xmmword [rbp]
xor r8d, r8d
test ebx, ebx
movdqa xmm5, xmmword [rbp + 0x10]
setne r8b
mov rdx, r13
mov rcx, r12
movaps xmmword [rbp + 0x1c0], xmm4
movdqa xmm4, xmmword [rbp + 0x20]
neg r8d
sub ebx, 5
movaps xmmword [rbp + 0x1d0], xmm5
movdqa xmm5, xmmword [rbp + 0x30]
movaps xmmword [rbp + 0x1e0], xmm4
movaps xmmword [rbp + 0x1f0], xmm5
call fcn.008f2ad0
cmp ebx, 0xfffffffb
jne 0x8f43d3
mov rax, qword [rbp + 0x2c0]
movdqa xmm4, xmmword [rbp + 0x140]
mov edx, 0x38
movdqa xmm5, xmmword [rbp + 0x150]
movaps xmmword [rax], xmm4
movdqa xmm4, xmmword [rbp + 0x160]
movaps xmmword [rax + 0x10], xmm5
movdqa xmm5, xmmword [rbp + 0x170]
movaps xmmword [rax + 0x20], xmm4
movdqa xmm4, xmmword [rbp + 0x180]
movaps xmmword [rax + 0x30], xmm5
movdqa xmm5, xmmword [rbp + 0x190]
movaps xmmword [rax + 0x40], xmm4
movdqa xmm4, xmmword [rbp + 0x1a0]
movaps xmmword [rax + 0x50], xmm5
movdqa xmm5, xmmword [rbp + 0x1b0]
movaps xmmword [rax + 0x60], xmm4
movdqa xmm4, xmmword [rbp + 0x1c0]
movaps xmmword [rax + 0x70], xmm5
movdqa xmm5, xmmword [rbp + 0x1d0]
movaps xmmword [rax + 0x80], xmm4
movdqa xmm4, xmmword [rbp + 0x1e0]
movaps xmmword [rax + 0x90], xmm5
movdqa xmm5, xmmword [rbp + 0x1f0]
movaps xmmword [rax + 0xa0], xmm4
movdqa xmm4, xmmword [rbp + 0x200]
movaps xmmword [rax + 0xb0], xmm5
movdqa xmm5, xmmword [rbp + 0x210]
movaps xmmword [rax + 0xc0], xmm4
movdqa xmm4, xmmword [rbp + 0x220]
movaps xmmword [rax + 0xd0], xmm5
movdqa xmm5, xmmword [rbp + 0x230]
movaps xmmword [rax + 0xe0], xmm4
movaps xmmword [rax + 0xf0], xmm5
mov rcx, qword [rbp - 0x58]
call fcn.008fac10
mov rcx, r13
mov edx, 0x100
call fcn.008fac10
mov rcx, r14
mov edx, 0x1000
call fcn.008fac10
mov edx, 0x100
mov rcx, r12
call fcn.008fac10
nop
movaps xmm6, xmmword [rbp + 0x240]
movaps xmm7, xmmword [rbp + 0x250]
movaps xmm8, xmmword [rbp + 0x260]
lea rsp, [rbp + 0x278]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret