Function at 0x536d50
Capabilities:
Encode data using xor

Disassembly:
cmp dword [0x6600f0], 0
jne 0x536f86
movaps xmm7, xmmword [0x49aa70]
mov eax, 1
movaps xmm2, xmmword [0x49aa60]
xor ecx, ecx
movaps xmm4, xmmword [0x49aa80]
xorps xmm3, xmm3
movups xmm6, xmmword [0x49aa90]
movd xmm5, eax
nop word [eax + eax]
movd xmm0, ecx
lea eax, [ecx + 4]
pshufd xmm0, xmm0, 0
movaps xmm1, xmm2
paddd xmm0, xmm7
pand xmm1, xmm0
pcmpeqd xmm1, xmm3
psrld xmm0, xmm5
pandn xmm1, xmm6
pand xmm1, xmm4
pxor xmm1, xmm0
movaps xmm0, xmm1
pand xmm0, xmm2
pcmpeqd xmm0, xmm3
pandn xmm0, xmm6
psrld xmm1, xmm5
pand xmm0, xmm4
pxor xmm0, xmm1
movaps xmm1, xmm0
pand xmm1, xmm2
pcmpeqd xmm1, xmm3
psrld xmm0, xmm5
pandn xmm1, xmm6
pand xmm1, xmm4
pxor xmm1, xmm0
movaps xmm0, xmm1
pand xmm0, xmm2
pcmpeqd xmm0, xmm3
pandn xmm0, xmm6
psrld xmm1, xmm5
pand xmm0, xmm4
pxor xmm0, xmm1
movaps xmm1, xmm0
pand xmm1, xmm2
pcmpeqd xmm1, xmm3
psrld xmm0, xmm5
pandn xmm1, xmm6
pand xmm1, xmm4
pxor xmm1, xmm0
movaps xmm0, xmm1
pand xmm0, xmm2
pcmpeqd xmm0, xmm3
pandn xmm0, xmm6
psrld xmm1, xmm5
pand xmm0, xmm4
pxor xmm0, xmm1
movaps xmm1, xmm0
pand xmm1, xmm2
pcmpeqd xmm1, xmm3
psrld xmm0, xmm5
pandn xmm1, xmm6
pand xmm1, xmm4
pxor xmm1, xmm0
movaps xmm0, xmm1
pand xmm0, xmm2
pcmpeqd xmm0, xmm3
pandn xmm0, xmm6
psrld xmm1, xmm5
pand xmm0, xmm4
pxor xmm0, xmm1
movups xmmword [ecx*4 + 0x6600f8], xmm0
movd xmm0, eax
pshufd xmm0, xmm0, 0
paddd xmm0, xmm7
movaps xmm1, xmm0
pand xmm1, xmm2
pcmpeqd xmm1, xmm3
pandn xmm1, xmm6
psrld xmm0, xmm5
pand xmm1, xmm4
pxor xmm1, xmm0
movaps xmm0, xmm1
pand xmm0, xmm2
pcmpeqd xmm0, xmm3
psrld xmm1, xmm5
pandn xmm0, xmm6
pand xmm0, xmm4
pxor xmm0, xmm1
movaps xmm1, xmm0
pand xmm1, xmm2
pcmpeqd xmm1, xmm3
psrld xmm0, xmm5
pandn xmm1, xmm6
pand xmm1, xmm4
pxor xmm1, xmm0
movaps xmm0, xmm1
pand xmm0, xmm2
pcmpeqd xmm0, xmm3
pandn xmm0, xmm6
psrld xmm1, xmm5
pand xmm0, xmm4
pxor xmm0, xmm1
movaps xmm1, xmm0
pand xmm1, xmm2
pcmpeqd xmm1, xmm3
psrld xmm0, xmm5
pandn xmm1, xmm6
pand xmm1, xmm4
pxor xmm1, xmm0
movaps xmm0, xmm1
pand xmm0, xmm2
pcmpeqd xmm0, xmm3
pandn xmm0, xmm6
psrld xmm1, xmm5
pand xmm0, xmm4
pxor xmm0, xmm1
movaps xmm1, xmm0
pand xmm1, xmm2
pcmpeqd xmm1, xmm3
psrld xmm0, xmm5
pandn xmm1, xmm6
pand xmm1, xmm4
pxor xmm1, xmm0
movaps xmm0, xmm1
pand xmm0, xmm2
pcmpeqd xmm0, xmm3
pandn xmm0, xmm6
psrld xmm1, xmm5
pand xmm0, xmm4
pxor xmm0, xmm1
movups xmmword [ecx*4 + 0x660108], xmm0
add ecx, 8
cmp ecx, 0x100
jb 0x536d90
mov dword [0x6600f0], 1
push ebx
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x537034
mov edx, dword [esp + 0xc]
test edx, edx
je 0x537034
mov eax, dword [ebx]
push edi
mov edi, dword [esp + 0x14]
test edi, edi
je 0x537031
push esi
nop
cmp edi, 0x10
jb 0x537018
mov esi, 4
nop word [eax + eax]
movzx ecx, byte [edx]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x6600f8]
movzx ecx, byte [edx + 1]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x6600f8]
movzx ecx, byte [edx + 2]
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x6600f8]
movzx ecx, byte [edx + 3]
add edx, 4
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x6600f8]
sub esi, 1
jne 0x536fc0
sub edi, 0x10
jmp 0x53702c
movzx ecx, byte [edx]
inc edx
xor ecx, eax
shr eax, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x6600f8]
dec edi
test edi, edi
jne 0x536fb0
pop esi
mov dword [ebx], eax
pop edi
pop ebx
ret