Function at 0x164f9cef0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xf0
mov rax, qword [0x16514b200]
xor rax, rsp
mov qword [rbp + 0x1f], rax
mov r15, qword [rbp + 0x67]
mov qword [rbp - 0x11], r15
mov rax, qword [rbp + 0x6f]
xor r12d, r12d
mov r14, qword [rax]
xor eax, eax
mov dword [rbp - 0x11], eax
mov word [rbp - 0xd], ax
mov byte [rbp - 0xb], al
call fcn.164fa5a20
mov rsi, rax
movabs rax, 0xcccccccccccccccd
mul rsi
shr rdx, 2
lea rax, [rdx + rdx*4]
sub rsi, rax
mov ebx, r12d
movsxd rdi, esi
test esi, esi
jle 0x164f9cfaa
movabs r13, 0x47ae147ae147ae15
call fcn.164fa5a20
mov rcx, rax
mov rax, r13
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 4
imul rax, rax, 0x19
sub rcx, rax
add cl, 0x61
mov byte [rbp + rbx - 0x11], cl
inc rbx
cmp rbx, rdi
jl 0x164f9cf76
mov byte [rbp + rdi - 0x11], 0x20
movsxd rax, esi
inc rax
cmp rax, 7
jae 0x164f9d314
mov byte [rbp + rax - 0x11], r12b
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], r12
mov qword [rbp - 0x41], r12
lea rax, [rbp - 0x11]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], r12b
jne 0x164f9cfe1
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 0x59]
call fcn.164e58120
nop
nop dword [rax + rax]
inc rbx
cmp byte [r14 + rbx], 0
jne 0x164f9d000
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x59]
call fcn.164e53e10
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
mov qword [rbp + 0xf], r12
mov qword [rbp + 0x17], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp - 1], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0xf], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rcx, [rbp - 0x59]
call fcn.164e48400
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rbp - 0x79], r12
mov qword [rbp - 0x71], r12
mov r8d, 1
lea rdx, [0x1650c90b8]
lea rcx, [rsp + 0x40]
call fcn.164e58120
nop
lea rax, [rsp + 0x40]
cmp qword [rbp - 0x71], 0xf
cmova rax, qword [rsp + 0x40]
mov qword [rbp - 0x11], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 9], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
mov r8d, 2
lea rdx, [0x1650cfddc]
lea rcx, [rsp + 0x20]
call fcn.164e58120
nop
lea rax, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rax, qword [rsp + 0x20]
mov qword [rbp - 0x69], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x61], rax
lea r8, [rbp - 0x11]
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 1]
call fcn.164f9dbb0
nop
lea rcx, [rsp + 0x20]
call fcn.164e48400
nop
lea rcx, [rsp + 0x40]
call fcn.164e48400
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
mov qword [rbp - 0x29], r12
mov qword [rbp - 0x21], 0xf
mov ecx, 0x50
call fcn.164e581f0
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x29], 0x40
mov qword [rbp - 0x21], 0x4f
movdqa xmm0, xmmword [0x1650f5aa0]
movups xmmword [rax], xmm0
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
movups xmmword [rax + 0x30], xmm0
mov byte [rax + 0x40], 0
mov r9d, 1
lea r8, [0x1650c90b8]
xor edx, edx
lea rcx, [rbp - 0x39]
call fcn.164e58af0
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x38], r12
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x20], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rsp + 0x30], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 0xf
mov byte [rax], 0
lea rax, [rsp + 0x20]
cmp qword [rsp + 0x38], 0xf
cmova rax, qword [rsp + 0x20]
mov qword [rbp - 0x69], rax
mov rax, qword [rsp + 0x30]
mov qword [rbp - 0x61], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov qword [rbp - 0x79], r12
mov qword [rbp - 0x71], r12
mov r8d, 1
lea rdx, [0x1650c90b8]
lea rcx, [rsp + 0x40]
call fcn.164e58120
nop
lea rax, [rsp + 0x40]
cmp qword [rbp - 0x71], 0xf
cmova rax, qword [rsp + 0x40]
mov qword [rbp - 0x11], rax
mov rax, qword [rbp - 0x79]
mov qword [rbp - 9], rax
lea r8, [rbp - 0x69]
lea rdx, [rbp - 0x11]
lea rcx, [rbp - 1]
call fcn.164f9dbb0
nop
lea rcx, [rsp + 0x40]
call fcn.164e48400
nop
lea rcx, [rsp + 0x20]
call fcn.164e48400
nop
lea rcx, [rbp - 0x39]
call fcn.164e48400
mov rcx, qword [rbp + 0xf]
call fcn.165001ab8
mov rdi, rax
mov qword [rbp - 0x11], rax
mov rax, r12
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x164f9d27b
lea r8, [0x1650d06a8]
nop
lea rdx, [rbp - 1]
cmp qword [rbp + 0x17], 0xf
cmova rdx, qword [rbp - 1]
mov rcx, rax
and ecx, 0xf
movzx ecx, byte [rcx + r8]
xor cl, byte [rdx + rax]
mov byte [rax + rdi], cl
inc rax
mov rcx, qword [rbp + 0xf]
cmp rax, rcx
jb 0x164f9d250
lea r8, [rcx + rdi]
mov rdx, rdi
lea rcx, [rbp - 0x39]
call fcn.164f9d980
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], r12
mov qword [rbp - 0x41], r12
mov r8d, 1
lea rdx, [0x1650d05c8]
lea rcx, [rbp - 0x59]
call fcn.164e58120
nop
mov r9, rbx
lea r8, [rbp - 0x59]
mov rcx, r15
call fcn.164f23360
nop
lea rcx, [rbp - 0x59]
call fcn.164e48400
nop
lea rcx, [rbp - 0x39]
call fcn.164e48400
nop
mov rcx, rdi
call fcn.1650010a0
nop
lea rcx, [rbp - 1]
call fcn.164e48400
mov rax, r15
mov rcx, qword [rbp + 0x1f]
xor rcx, rsp
call fcn.165001080
mov rbx, qword [rsp + 0x140]
add rsp, 0xf0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1650012e4
int3