Function at 0x180031940
Capabilities:
Encode data using xor

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa0
movdqa xmmword [rsp + 0x90], xmm15
movdqa xmmword [rsp + 0x80], xmm14
movdqa xmmword [rsp + 0x70], xmm13
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
cmp byte [0x180047be2], 0
jne 0x180031dbe
lea rdx, [rcx + 0x37]
lea rax, [0x180047bc8]
cmp rdx, rax
jbe 0x1800319c6
lea rdx, [0x180047be2]
cmp rcx, rdx
jae 0x1800319c6
xor edx, edx
jmp 0x180031d10
movq xmm13, qword [rcx]
movdqa xmm12, xmmword [str._n_n_n_n_n_n_n_n]
movdqa xmm11, xmm13
movdqa xmm8, xmmword [0x18003a850]
movdqa xmm14, xmm13
pandn xmm14, xmm8
movdqa xmm15, xmm13
pxor xmm15, xmm12
por xmm14, xmm15
movdqa xmm10, xmmword [0x18003a870]
por xmm13, xmm10
pand xmm13, xmmword [0x18003a880]
movdqa xmm1, xmm13
movdqa xmm2, xmmword [0x18003a7b0]
movdqa xmm0, xmm14
pandn xmm0, xmm2
movdqa xmm6, xmmword [0x18003a890]
movdqa xmm7, xmm14
pand xmm7, xmm6
por xmm7, xmm0
movdqa xmm0, xmmword [str.________]
por xmm7, xmm0
movdqa xmm4, xmm0
movdqa xmm5, xmmword [str.XXXXXXXX]
movdqa xmm0, xmm14
pand xmm0, xmm5
por xmm0, xmm2
pxor xmm0, xmm7
movdqa xmm7, xmmword [0x18003a8c0]
movdqa xmm9, xmm0
pxor xmm9, xmm7
pxor xmm13, xmmword [0x18003a8d0]
pand xmm13, xmm9
movdqa xmm9, xmmword [str.PPPPPPPP]
pxor xmm1, xmm9
pxor xmm0, xmmword [0x18003a8e0]
pand xmm0, xmm1
por xmm0, xmm13
movdqa xmm1, xmm14
pandn xmm1, xmmword [0x18003a8f0]
pand xmm15, xmm10
por xmm15, xmm1
por xmm11, xmm12
pand xmm14, xmm11
movdqa xmm1, xmm11
pcmpeqd xmm11, xmm11
pxor xmm1, xmm11
por xmm1, xmm10
pxor xmm1, xmm15
por xmm14, xmm1
pxor xmm14, xmm11
por xmm14, xmm0
movq xmm0, qword [rcx + 0x1d]
movdqa xmm1, xmm0
pxor xmm1, xmm8
pxor xmm0, xmm12
pand xmm0, xmm14
pandn xmm14, xmm1
por xmm14, xmm0
movq qword [0x180047bc8], xmm14
movq xmm15, qword [rcx + 8]
movdqa xmm14, xmm15
pandn xmm14, xmm8
movdqa xmm3, xmm15
pxor xmm3, xmm12
por xmm14, xmm3
movdqa xmm1, xmm14
pandn xmm1, xmm2
movdqa xmm0, xmm14
pand xmm0, xmm6
por xmm0, xmm1
por xmm0, xmm4
movdqa xmm1, xmm14
pand xmm1, xmm5
por xmm1, xmm2
pxor xmm1, xmm0
movdqa xmm4, xmm15
por xmm15, xmm10
movdqa xmm13, xmmword [0x18003a880]
pand xmm15, xmm13
movdqa xmm0, xmm1
pxor xmm0, xmm7
movdqa xmm2, xmm15
pxor xmm15, xmmword [0x18003a8d0]
pand xmm15, xmm0
pxor xmm2, xmm9
pxor xmm1, xmmword [0x18003a8e0]
pand xmm1, xmm2
por xmm1, xmm15
movdqa xmm0, xmm14
pandn xmm0, xmmword [0x18003a8f0]
pand xmm3, xmm10
por xmm3, xmm0
por xmm4, xmm12
pand xmm14, xmm4
pxor xmm4, xmm11
por xmm4, xmm10
pxor xmm4, xmm3
por xmm14, xmm4
pxor xmm14, xmm11
por xmm14, xmm1
movq xmm0, qword [rcx + 0x25]
movdqa xmm1, xmm0
pxor xmm1, xmm8
pxor xmm0, xmm12
pand xmm0, xmm14
pandn xmm14, xmm1
por xmm14, xmm0
movq qword [0x180047bd0], xmm14
movq xmm15, qword [rcx + 0x10]
movdqa xmm1, xmm15
movdqa xmm14, xmm15
movdqa xmm0, xmm15
por xmm15, xmm10
pand xmm15, xmm13
pandn xmm14, xmm8
pxor xmm0, xmm12
por xmm14, xmm0
movdqa xmm2, xmm14
movdqa xmm3, xmmword [0x18003a7b0]
pandn xmm2, xmm3
pand xmm6, xmm14
por xmm6, xmm2
por xmm6, xmmword [str.________]
pand xmm5, xmm14
por xmm5, xmm3
pxor xmm5, xmm6
pxor xmm9, xmm15
pxor xmm15, xmmword [0x18003a8d0]
pxor xmm7, xmm5
pand xmm15, xmm7
pxor xmm5, xmmword [0x18003a8e0]
pand xmm5, xmm9
por xmm5, xmm15
movdqa xmm2, xmm14
pandn xmm2, xmmword [0x18003a8f0]
pand xmm0, xmm10
por xmm0, xmm2
por xmm1, xmm12
pand xmm14, xmm1
pxor xmm1, xmm11
por xmm1, xmm10
pxor xmm1, xmm0
por xmm14, xmm1
pxor xmm14, xmm11
por xmm14, xmm5
movq xmm0, qword [rcx + 0x2d]
pxor xmm8, xmm0
pxor xmm0, xmm12
pand xmm0, xmm14
pandn xmm14, xmm8
por xmm14, xmm0
movq qword [0x180047bd8], xmm14
mov edx, 0x18
nop word cs:[rax + rax]
movzx r9d, byte [rcx + rdx]
mov r8d, r9d
not r8b
mov ebx, r9d
or bl, 0xa
and r8b, 0xf5
mov r10d, r9d
xor r10b, 0xa
or r8b, r10b
mov r11d, r8d
mov edi, r8d
mov esi, r8d
and r8b, bl
not bl
not r11b
or r9b, 2
and r9b, 0xf7
mov ebp, r9d
xor bpl, 0x50
mov r14d, r11d
and r14b, 0x21
and dil, 0x86
or dil, r14b
or dil, 0x40
and sil, 0x58
or sil, 0x21
xor sil, dil
mov edi, esi
xor dil, 0x18
xor r9b, 0xaf
and r9b, dil
xor sil, 0xe7
and sil, bpl
or sil, r9b
and r11b, 0xfd
and r10b, 2
or r10b, r11b
or bl, 2
xor bl, r10b
or r8b, bl
not r8b
or r8b, sil
xor r8b, byte [rcx + rdx + 0x1d]
xor r8b, 0xf5
mov byte [rdx + rax], r8b
inc rdx
cmp rdx, 0x1a
jne 0x180031d10
mov byte [0x180047be2], 1
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]
movaps xmm13, xmmword [rsp + 0x70]
movaps xmm14, xmmword [rsp + 0x80]
movaps xmm15, xmmword [rsp + 0x90]
add rsp, 0xa0
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret