Function at 0x1402f9510
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
movdqa xmmword [rsp + 0x60], xmm12
movdqa xmmword [rsp + 0x50], xmm11
movdqa xmmword [rsp + 0x40], xmm10
movdqa xmmword [rsp + 0x30], xmm9
movdqa xmmword [rsp + 0x20], xmm8
movdqa xmmword [rsp + 0x10], xmm7
movdqa xmmword [rsp], xmm6
mov eax, r8d
mov r8d, dword [0x1404959e0]
test r8d, r8d
jne 0x1402f97c4
movdqa xmm1, xmmword [0x140372000]
xor r8d, r8d
movdqa xmm2, xmmword [0x140391440]
movdqa xmm3, xmmword [0x140391450]
movdqa xmm4, xmmword [0x140391460]
movdqa xmm5, xmmword [0x140391470]
lea r10, [0x1404951e0]
movdqa xmm0, xmmword [0x1403720b0]
nop
movdqa xmm7, xmm1
psrld xmm7, 4
movdqa xmm6, xmm1
pslld xmm6, 0x1f
psrad xmm6, 0x1f
pand xmm6, xmm2
pxor xmm6, xmm7
movdqa xmm7, xmm1
pslld xmm7, 0x1e
psrad xmm7, 0x1f
pand xmm7, xmm3
pxor xmm7, xmm6
movdqa xmm8, xmm1
pslld xmm8, 0x1d
psrad xmm8, 0x1f
pand xmm8, xmm4
pxor xmm8, xmm7
movdqa xmm9, xmm1
pslld xmm9, 0x1c
psrad xmm9, 0x1f
pand xmm9, xmm5
pxor xmm9, xmm8
movdqa xmm10, xmm9
psrld xmm10, 4
pslld xmm6, 0x1f
psrad xmm6, 0x1f
pand xmm6, xmm2
pxor xmm6, xmm10
pslld xmm7, 0x1e
psrad xmm7, 0x1f
pand xmm7, xmm3
pxor xmm7, xmm6
pslld xmm8, 0x1d
psrad xmm8, 0x1f
pand xmm8, xmm4
pxor xmm8, xmm7
pslld xmm9, 0x1c
psrad xmm9, 0x1f
pand xmm9, xmm5
pxor xmm9, xmm8
movdqa xmmword [r8 + r10], xmm9
paddd xmm1, xmm0
add r8, 0x10
cmp r8, 0x400
jne 0x1402f9590
movdqa xmm1, xmmword [0x140372000]
xor r8d, r8d
movdqa xmm2, xmmword [0x140372040]
movdqa xmm3, xmmword [0x140372050]
movdqa xmm4, xmmword [0x140372070]
movdqa xmm5, xmmword [0x140372090]
movdqa xmm6, xmmword [0x1403720a0]
movdqa xmm7, xmmword [0x140372010]
lea r10, [0x1404955e0]
nop word cs:[rax + rax]
movdqa xmm9, xmm1
psrld xmm9, 6
movdqa xmm8, xmm1
pslld xmm8, 0x1f
psrad xmm8, 0x1f
pand xmm8, xmm2
pxor xmm8, xmm9
movdqa xmm9, xmm1
pslld xmm9, 0x1e
psrad xmm9, 0x1f
pand xmm9, xmm3
pxor xmm9, xmm8
movdqa xmm10, xmm1
pslld xmm10, 0x1d
psrad xmm10, 0x1f
pand xmm10, xmm4
movdqa xmm11, xmm1
pslld xmm11, 0x1c
psrad xmm11, 0x1f
pand xmm11, xmm5
pxor xmm11, xmm10
movdqa xmm10, xmm1
pslld xmm10, 0x1b
psrad xmm10, 0x1f
pand xmm10, xmm6
movdqa xmm12, xmm1
pslld xmm12, 0x1a
psrad xmm12, 0x1f
pand xmm12, xmm7
pxor xmm12, xmm10
pxor xmm12, xmm11
pxor xmm12, xmm9
psrld xmm12, 2
pslld xmm8, 0x1f
psrad xmm8, 0x1f
pand xmm8, xmm6
pxor xmm8, xmm12
pslld xmm9, 0x1e
psrad xmm9, 0x1f
pand xmm9, xmm7
pxor xmm9, xmm8
movdqa xmmword [r8 + r10], xmm9
paddd xmm1, xmm0
add r8, 0x10
cmp r8, 0x400
jne 0x1402f96c0
mov dword [0x1404959e0], 1
test r9d, r9d
lea r9, [0x1404955e0]
lea r8, [0x1404951e0]
cmove r8, r9
test rdx, rdx
je 0x1402f9840
test dl, 1
jne 0x1402f97ee
mov r9, rdx
cmp rdx, 1
jne 0x1402f980d
jmp 0x1402f9840
lea r9, [rdx - 1]
movzx r10d, byte [rcx]
xor r10b, al
inc rcx
movzx r10d, r10b
shr eax, 8
xor eax, dword [r8 + r10*4]
cmp rdx, 1
je 0x1402f9840
xor edx, edx
nop
movzx r10d, byte [rcx + rdx]
xor r10b, al
movzx r10d, r10b
shr eax, 8
xor eax, dword [r8 + r10*4]
movzx r10d, byte [rcx + rdx + 1]
xor r10b, al
movzx r10d, r10b
shr eax, 8
xor eax, dword [r8 + r10*4]
add rdx, 2
cmp r9, rdx
jne 0x1402f9810
movaps xmm6, xmmword [rsp]
movaps xmm7, xmmword [rsp + 0x10]
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm9, xmmword [rsp + 0x30]
movaps xmm10, xmmword [rsp + 0x40]
movaps xmm11, xmmword [rsp + 0x50]
movaps xmm12, xmmword [rsp + 0x60]
add rsp, 0x78
ret