Function at 0x140002980
Capabilities:
Encode data using xor

Disassembly:
test rcx, rcx
je 0x140002e49
mov rax, rsp
mov qword [rax + 0x20], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rax - 0x47]
sub rsp, 0x90
movups xmm1, xmmword [rcx + 0x124]
mov qword [rax + 0x18], r15
xor esi, esi
movaps xmmword [rax - 0x38], xmm6
mov ebx, esi
movdqa xmm6, xmmword [0x1400067a0]
movdqa xmm2, xmm1
psrlq xmm2, 8
movdqa xmm0, xmm6
movaps xmmword [rax - 0x48], xmm7
andps xmm0, xmm1
movdqa xmm7, xmmword [0x140006790]
mov r12, rcx
mov ecx, dword [rbp + 0x6f]
andps xmm2, xmm7
psllq xmm0, 8
mov r14, r9
movaps xmmword [rax - 0x58], xmm8
orps xmm2, xmm0
movdqa xmm8, xmmword [0x1400067b0]
movdqa xmm1, xmm2
psrlq xmm1, 0x10
andps xmm2, xmm8
movaps xmmword [rax - 0x68], xmm9
mov edi, esi
movdqa xmm9, xmmword [0x140006780]
movabs r15, 0xe100000000000000
psllq xmm2, 0x10
andps xmm1, xmm9
mov qword [rbp - 0x51], rbx
orps xmm1, xmm2
mov qword [rbp - 0x49], rsi
movdqa xmm0, xmm1
psrlq xmm0, 0x20
psllq xmm1, 0x20
orps xmm0, xmm1
movdqu xmmword [rbp - 0x31], xmm0
test r9, r9
je 0x140002d25
mov qword [rax + 0x10], r13
mov r15d, ecx
mov r13d, ecx
shr r15d, 4
and r13d, 0xf
cmp dword [r12 + 0x144], ebx
je 0x140002aab
mov eax, dword [r12 + 0x138]
mov ebx, dword [r12 + 0x134]
mov edi, dword [r12 + 0x13c]
shl rbx, 0x20
or rbx, rax
shl rdi, 0x20
mov eax, dword [r12 + 0x140]
or rdi, rax
mov qword [rbp - 0x51], rbx
mov qword [rbp - 0x49], rdi
test r15d, r15d
je 0x140002bee
movdqa xmm2, xmmword [rbp - 0x51]
movabs r12, 0xe100000000000000
nop dword [rax]
nop word [rax + rax]
movups xmm0, xmmword [r14]
dec r15d
movdqa xmm1, xmm0
mov qword [rbp - 0x41], rsi
psrlq xmm1, 8
andps xmm0, xmm6
psllq xmm0, 8
andps xmm1, xmm7
orps xmm1, xmm0
mov qword [rbp - 0x39], rsi
movdqa xmm0, xmm1
mov rbx, rsi
psrlq xmm0, 0x10
andps xmm1, xmm8
psllq xmm1, 0x10
andps xmm0, xmm9
orps xmm0, xmm1
movdqa xmm1, xmm0
psllq xmm0, 0x20
psrlq xmm1, 0x20
orps xmm1, xmm0
movdqu xmmword [rbp - 0x51], xmm1
xorps xmm1, xmm2
movdqa xmm2, xmmword [rbp - 0x41]
movdqa xmm0, xmm1
movdqa xmmword [rbp - 0x51], xmm1
psrldq xmm0, 8
movq r9, xmm1
movq r10, xmm0
nop dword [rax + rax]
mov rax, qword [rbp + rbx*8 - 0x31]
mov r11d, 0x40
nop dword [rax + rax]
mov r8, r10
mov rdx, r9
and r8d, 1
shl rdx, 0x3f
mov rcx, rax
shr r9, 1
shr rcx, 0x3f
neg r8
neg rcx
and r8, r12
xor r9, r8
add rax, rax
mov qword [rbp - 0x51], r9
movq xmm0, rcx
mov rcx, r10
punpcklqdq xmm0, xmm0
mov r10, rdx
shr rcx, 1
andps xmm0, xmm1
or r10, rcx
xorps xmm0, xmm2
mov qword [rbp - 0x49], r10
movdqa xmm2, xmm0
sub r11, 1
je 0x140002bbb
movdqa xmm1, xmmword [rbp - 0x51]
jmp 0x140002b60
inc rbx
movdqa xmmword [rbp - 0x41], xmm0
cmp rbx, 2
jge 0x140002bd0
movdqa xmm1, xmmword [rbp - 0x51]
jmp 0x140002b50
add r14, 0x10
movdqa xmmword [rbp - 0x51], xmm0
test r15d, r15d
jne 0x140002ad0
mov rdi, qword [rbp - 0x49]
mov rbx, qword [rbp - 0x51]
mov r12, qword [rbp + 0x4f]
test r13d, r13d
je 0x140002d13
xorps xmm0, xmm0
mov r8d, r13d
mov rdx, r14
lea rcx, [rbp - 0x51]
movups xmmword [rbp - 0x51], xmm0
call sub.VCRUNTIME140.dll_memcpy
movdqu xmm0, xmmword [rbp - 0x51]
mov qword [rbp - 0x41], rsi
mov r11, rsi
mov qword [rbp - 0x39], rsi
movabs r15, 0xe100000000000000
movdqa xmm2, xmm0
andps xmm0, xmm6
psrlq xmm2, 8
psllq xmm0, 8
andps xmm2, xmm7
orps xmm2, xmm0
movdqa xmm1, xmm2
andps xmm2, xmm8
psrlq xmm1, 0x10
andps xmm1, xmm9
psllq xmm2, 0x10
orps xmm1, xmm2
movdqa xmm2, xmmword [rbp - 0x41]
movdqa xmm0, xmm1
psllq xmm1, 0x20
psrlq xmm0, 0x20
orps xmm0, xmm1
movq r8, xmm0
psrldq xmm0, 8
xor r8, rbx
movq rdx, xmm0
xor rdx, rdi
mov qword [rbp - 0x51], r8
mov qword [rbp - 0x49], rdx
nop word [rax + rax]
mov r9, qword [rbp + r11*8 - 0x31]
mov r10d, 0x40
nop dword [rax + rax]
movdqu xmm0, xmmword [rbp - 0x51]
mov rcx, rdx
mov rax, r9
shr rdx, 1
and ecx, 1
shr rax, 0x3f
neg rcx
neg rax
and rcx, r15
add r9, r9
movq xmm1, rax
mov rax, rdx
mov rdx, r8
punpcklqdq xmm1, xmm1
shl rdx, 0x3f
andps xmm1, xmm0
shr r8, 1
or rdx, rax
xor r8, rcx
mov qword [rbp - 0x49], rdx
mov qword [rbp - 0x51], r8
xorps xmm1, xmm2
movdqa xmm2, xmm1
sub r10, 1
jne 0x140002ca0
inc r11
cmp r11, 2
jl 0x140002c90
movdqa xmm0, xmm1
movq rbx, xmm1
psrldq xmm0, 8
movq rdi, xmm0
jmp 0x140002d1d
movabs r15, 0xe100000000000000
mov r13, qword [rsp + 0xc8]
mov r8d, dword [r12 + 0x144]
mov eax, dword [rbp + 0x6f]
test r8d, r8d
mov qword [rbp - 0x41], rsi
cmove r8, rsi
mov qword [rbp - 0x39], rsi
movdqa xmm2, xmmword [rbp - 0x41]
shl r8, 3
lea rdx, [rax*8]
xor r8, rbx
xor rdx, rdi
mov qword [rbp - 0x51], r8
mov qword [rbp - 0x49], rdx
nop
mov r9, qword [rbp + rsi*8 - 0x31]
mov r10d, 0x40
nop dword [rax + rax]
movdqu xmm0, xmmword [rbp - 0x51]
mov rcx, rdx
mov rax, r9
shr rdx, 1
and ecx, 1
shr rax, 0x3f
neg rcx
neg rax
and rcx, r15
add r9, r9
movq xmm1, rax
mov rax, rdx
mov rdx, r8
punpcklqdq xmm1, xmm1
shl rdx, 0x3f
andps xmm1, xmm0
shr r8, 1
or rdx, rax
xor r8, rcx
mov qword [rbp - 0x49], rdx
mov qword [rbp - 0x51], r8
xorps xmm2, xmm1
sub r10, 1
jne 0x140002d70
inc rsi
cmp rsi, 2
jl 0x140002d60
mov rax, qword [rbp + 0x77]
movdqa xmm0, xmm2
mov r15, qword [rsp + 0xd0]
andps xmm2, xmm6
movaps xmm6, xmmword [rsp + 0x80]
mov rbx, qword [rsp + 0xd8]
psrlq xmm0, 8
andps xmm0, xmm7
psllq xmm2, 8
movaps xmm7, xmmword [rsp + 0x70]
orps xmm0, xmm2
movdqa xmm1, xmm0
andps xmm0, xmm8
movaps xmm8, xmmword [rsp + 0x60]
psllq xmm0, 0x10
psrlq xmm1, 0x10
andps xmm1, xmm9
movaps xmm9, xmmword [rsp + 0x50]
orps xmm1, xmm0
movdqa xmm0, xmm1
psllq xmm1, 0x20
psrlq xmm0, 0x20
orps xmm0, xmm1
movups xmmword [rax], xmm0
add rsp, 0x90
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret