Function at 0x140016e40
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x330
movdqa xmmword [rsp + 0x320], xmm9
movdqa xmmword [rsp + 0x310], xmm8
movaps xmmword [rsp + 0x300], xmm7
movdqa xmmword [rsp + 0x2f0], xmm6
mov rbx, rdx
mov rsi, rcx
xor r14d, r14d
lea rdi, [rsp + 0x30]
mov r8d, 0x2c0
mov rcx, rdi
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov qword [rsp + 0x20], rbx
mov rcx, rdi
mov rdx, rbx
mov r8, rbx
mov r9, rbx
call fcn.140018320
lea r15, [rsp + 0x70]
pcmpeqd xmm6, xmm6
movdqa xmm7, xmmword [0x140034510]
xor r12d, r12d
xor ebx, ebx
xor r13d, r13d
jmp 0x140016f0c
lea rax, [r15 + rax*8]
xor byte [rax + rbx*8 + 3], 0xf0
add rbx, 8
mov dword [rsp + 0x20], 0x1c
mov edx, 0x58
mov r9d, 8
mov rcx, rdi
mov r8, rbx
call fcn.140018020
add r12, 0x40
add r14, 0x48
inc r13
cmp rbx, 0x50
je 0x140016f79
mov edx, 0x58
mov rcx, rdi
mov r8, rbx
call fcn.140018ab0
lea rcx, [r15 + r12]
call fcn.140017d70
movdqu xmm0, xmmword [rsp + rbx*8 + 0x70]
movdqu xmm1, xmmword [rsp + rbx*8 + 0x98]
pxor xmm0, xmm6
movdqu xmmword [rsp + rbx*8 + 0x70], xmm0
pxor xmm1, xmm6
movdqu xmmword [rsp + rbx*8 + 0x98], xmm1
mov rax, r13
cmp r13, 8
jb 0x140016ed0
movdqu xmm0, xmmword [rsp + r14 + 0x30]
pxor xmm0, xmm7
movdqu xmmword [rsp + r14 + 0x30], xmm0
xor byte [rsp + r14 + 0x4b], 0xf0
lea rax, [r13 - 4]
jmp 0x140016ed0
lea rax, [rsp + 0x120]
xor ecx, ecx
movdqa xmm1, xmmword [0x140034520]
movdqa xmm0, xmmword [0x140034530]
movdqa xmm2, xmmword [0x140034540]
movdqa xmm3, xmmword [0x140034550]
nop word cs:[rax + rax]
movdqu xmm7, xmmword [rax - 0xb0]
movdqu xmm6, xmmword [rax - 0xa0]
movdqu xmm5, xmmword [rax - 0x90]
movdqu xmm4, xmmword [rax - 0x80]
movdqa xmm8, xmm7
psrlq xmm8, 8
pxor xmm8, xmm7
pand xmm8, xmm1
movdqa xmm9, xmm8
psllq xmm9, 8
por xmm9, xmm8
pxor xmm9, xmm7
movdqa xmm7, xmm9
psrlq xmm7, 4
pxor xmm7, xmm9
pand xmm7, xmm0
movdqa xmm8, xmm7
psllq xmm8, 4
por xmm8, xmm7
pxor xmm8, xmm9
movdqu xmmword [rax - 0xb0], xmm8
movdqa xmm7, xmm6
psrlq xmm7, 8
pxor xmm7, xmm6
pand xmm7, xmm1
movdqa xmm8, xmm7
psllq xmm8, 8
por xmm8, xmm7
pxor xmm8, xmm6
movdqa xmm6, xmm8
psrlq xmm6, 4
pxor xmm6, xmm8
pand xmm6, xmm0
movdqa xmm7, xmm6
psllq xmm7, 4
por xmm7, xmm6
pxor xmm7, xmm8
movdqu xmmword [rax - 0xa0], xmm7
movdqa xmm6, xmm5
psrlq xmm6, 8
pxor xmm6, xmm5
pand xmm6, xmm1
movdqa xmm7, xmm6
psllq xmm7, 8
por xmm7, xmm6
pxor xmm7, xmm5
movdqa xmm5, xmm7
psrlq xmm5, 4
pxor xmm5, xmm7
pand xmm5, xmm0
movdqa xmm6, xmm5
psllq xmm6, 4
por xmm6, xmm5
pxor xmm6, xmm7
movdqu xmmword [rax - 0x90], xmm6
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm1
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rax - 0x80], xmm5
movdqu xmm4, xmmword [rax - 0x70]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm2
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqu xmmword [rax - 0x70], xmm6
movdqu xmm4, xmmword [rax - 0x60]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm2
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqu xmmword [rax - 0x60], xmm6
movdqu xmm4, xmmword [rax - 0x50]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm2
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqu xmmword [rax - 0x50], xmm6
movdqu xmm4, xmmword [rax - 0x40]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm2
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqu xmmword [rax - 0x40], xmm6
movdqu xmm4, xmmword [rax - 0x30]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm3
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rax - 0x30], xmm5
movdqu xmm4, xmmword [rax - 0x20]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm3
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rax - 0x20], xmm5
movdqu xmm4, xmmword [rax - 0x10]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm3
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rax - 0x10], xmm5
movdqu xmm4, xmmword [rax]
movdqa xmm5, xmm4
psrlq xmm5, 8
pxor xmm5, xmm4
pand xmm5, xmm3
movdqa xmm6, xmm5
psllq xmm6, 8
por xmm6, xmm5
pxor xmm6, xmm4
movdqa xmm4, xmm6
psrlq xmm4, 4
pxor xmm4, xmm6
pand xmm4, xmm0
movdqa xmm5, xmm4
psllq xmm5, 4
por xmm5, xmm4
pxor xmm5, xmm6
movdqu xmmword [rax], xmm5
add rax, 0x100
test cl, 1
mov cl, 1
je 0x140016fb0
movdqu xmm2, xmmword [rsp + 0x280]
movdqa xmm3, xmm2
psrlq xmm3, 8
pxor xmm3, xmm2
pand xmm3, xmm1
movdqa xmm4, xmm3
psllq xmm4, 8
por xmm4, xmm3
pxor xmm4, xmm2
movdqa xmm2, xmm4
psrlq xmm2, 4
pxor xmm2, xmm4
pand xmm2, xmm0
movdqa xmm3, xmm2
psllq xmm3, 4
por xmm3, xmm2
pxor xmm3, xmm4
movdqu xmmword [rsp + 0x280], xmm3
mov rax, qword [rsp + 0x290]
mov rcx, rax
shr rcx, 8
xor rcx, rax
movabs rdx, 0xf00ff00f00000
and rcx, rdx
mov r9, rcx
shl r9, 8
or r9, rcx
xor r9, rax
mov rax, r9
shr rax, 4
xor rax, r9
movabs r8, 0xf0f00000f0f0000
and rax, r8
mov rcx, rax
shl rcx, 4
or rcx, rax
xor rcx, r9
mov qword [rsp + 0x290], rcx
mov rax, qword [rsp + 0x298]
mov rcx, rax
shr rcx, 8
xor rcx, rax
and rcx, rdx
mov r9, rcx
shl r9, 8
or r9, rcx
xor r9, rax
mov rcx, r9
shr rcx, 4
xor rcx, r9
and rcx, r8
mov rax, rcx
shl rax, 4
or rax, rcx
xor rax, r9
mov rcx, qword [rsp + 0x2a0]
mov r9, rcx
shr r9, 8
xor r9, rcx
and r9, rdx
mov r10, r9
shl r10, 8
or r10, r9
xor r10, rcx
mov r9, r10
shr r9, 4
xor r9, r10
and r9, r8
mov rcx, r9
shl rcx, 4
or rcx, r9
xor rcx, r10
mov r9, qword [rsp + 0x2a8]
mov r10, r9
shr r10, 8
xor r10, r9
and r10, rdx
mov rdx, r10
shl rdx, 8
or rdx, r10
xor rdx, r9
mov r9, rdx
shr r9, 4
xor r9, rdx
and r9, r8
mov r8, r9
shl r8, 4
or r8, r9
xor r8, rdx
mov qword [rsp + 0x2a8], r8
pcmpeqd xmm2, xmm2
movdqu xmm3, xmmword [rsp + 0x70]
movdqu xmm4, xmmword [rsp + 0x98]
movdqu xmm5, xmmword [rsp + 0xb0]
movdqu xmm6, xmmword [rsp + 0xd8]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x70], xmm3
pxor xmm4, xmm2
movdqu xmmword [rsp + 0x98], xmm4
pxor xmm5, xmm2
movdqu xmmword [rsp + 0xb0], xmm5
pxor xmm6, xmm2
movdqu xmmword [rsp + 0xd8], xmm6
movdqu xmm3, xmmword [rsp + 0xf0]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0xf0], xmm3
movdqu xmm3, xmmword [rsp + 0x118]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x118], xmm3
movdqu xmm3, xmmword [rsp + 0x130]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x130], xmm3
movdqu xmm3, xmmword [rsp + 0x158]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x158], xmm3
movdqu xmm3, xmmword [rsp + 0x170]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x170], xmm3
movdqu xmm3, xmmword [rsp + 0x198]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x198], xmm3
movdqu xmm3, xmmword [rsp + 0x1b0]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x1b0], xmm3
movdqu xmm3, xmmword [rsp + 0x1d8]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x1d8], xmm3
movdqu xmm3, xmmword [rsp + 0x1f0]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x1f0], xmm3
movdqu xmm3, xmmword [rsp + 0x218]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x218], xmm3
movdqu xmm3, xmmword [rsp + 0x230]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x230], xmm3
movdqu xmm3, xmmword [rsp + 0x258]
pxor xmm3, xmm2
movdqu xmmword [rsp + 0x258], xmm3
movdqu xmm3, xmmword [rsp + 0x270]
movdqa xmm4, xmm3
psrlq xmm4, 8
pxor xmm4, xmm3
pand xmm4, xmm1
movdqa xmm1, xmm4
psllq xmm1, 8
por xmm1, xmm4
pxor xmm1, xmm3
movdqa xmm3, xmm1
psrlq xmm3, 4
pxor xmm3, xmm1
pand xmm3, xmm0
movdqa xmm0, xmm3
psllq xmm0, 4
por xmm0, xmm3
pxor xmm1, xmm2
pxor xmm1, xmm0
movdqu xmmword [rsp + 0x270], xmm1
not rax
mov qword [rsp + 0x298], rax
not rcx
mov qword [rsp + 0x2a0], rcx
not qword [rsp + 0x2b0]
not qword [rsp + 0x2b8]
not qword [rsp + 0x2d8]
not qword [rsp + 0x2e0]
lea rdx, [rsp + 0x30]
mov r8d, 0x2c0
mov rcx, rsi
call sub.VCRUNTIME140.dll_memcpy
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x2f0]
movaps xmm7, xmmword [rsp + 0x300]
movaps xmm8, xmmword [rsp + 0x310]
movaps xmm9, xmmword [rsp + 0x320]
add rsp, 0x330
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret