Function at 0x71207280
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
sub esp, 0x60
lea esi, [ecx*4]
lea edi, [ecx + ecx*2]
dec edx
jl 0x71207633
neg esi
dec ebx
jl 0x71207633
add esi, eax
movdqa xmm0, xmmword [esi + ecx*2]
movdqa xmm1, xmmword [esi + edi]
movdqa xmm2, xmmword [eax]
movdqa xmm3, xmmword [eax + ecx]
movd xmm4, edx
movd xmm5, ebx
pshuflw xmm4, xmm4, 0
punpcklqdq xmm4, xmm4
pshuflw xmm5, xmm5, 0
punpcklqdq xmm5, xmm5
packuswb xmm4, xmm4
packuswb xmm5, xmm5
movdqa xmmword [esp + 0x10], xmm4
vpsubusb xmm6, xmm2, xmm1
vpsubusb xmm7, xmm1, xmm2
por xmm7, xmm6
psubusb xmm7, xmm4
vpsubusb xmm6, xmm1, xmm0
vpsubusb xmm4, xmm0, xmm1
por xmm4, xmm6
psubusb xmm4, xmm5
por xmm7, xmm4
vpsubusb xmm6, xmm2, xmm3
vpsubusb xmm4, xmm3, xmm2
por xmm4, xmm6
psubusb xmm4, xmm5
por xmm7, xmm4
pxor xmm6, xmm6
pcmpeqb xmm7, xmm6
movdqa xmm4, xmmword [esp + 0x10]
movdqa xmmword [esp + 0x20], xmm7
pavgb xmm4, xmmword [0x7123a010]
pavgb xmm4, xmmword [0x7123a030]
movdqa xmm7, xmm2
movdqa xmm6, xmm1
psubusb xmm7, xmm1
psubusb xmm6, xmm2
psubusb xmm7, xmm4
psubusb xmm6, xmm4
pcmpeqb xmm6, xmm7
pand xmm6, xmmword [esp + 0x20]
movdqa xmm7, xmmword [esi + ecx]
movdqa xmm4, xmm1
psubusb xmm7, xmm1
psubusb xmm4, xmmword [esi + ecx]
psubusb xmm7, xmm5
psubusb xmm4, xmm5
pcmpeqb xmm4, xmm7
pand xmm4, xmm6
movdqa xmmword [esp + 0x30], xmm4
movdqa xmm7, xmmword [eax + ecx*2]
movdqa xmm4, xmm2
psubusb xmm7, xmm2
psubusb xmm4, xmmword [eax + ecx*2]
psubusb xmm7, xmm5
psubusb xmm4, xmm5
pcmpeqb xmm4, xmm7
pand xmm4, xmm6
movdqa xmmword [esp + 0x40], xmm4
movdqa xmm4, xmmword [esi + ecx]
movdqa xmm5, xmm1
pavgb xmm4, xmm0
pavgb xmm5, xmm2
pavgb xmm4, xmm5
movdqa xmmword [esp + 0x10], xmm5
movdqa xmm6, xmmword [esi + ecx]
movdqa xmm7, xmm1
paddb xmm6, xmm0
paddb xmm7, xmm2
paddb xmm6, xmm7
movdqa xmm7, xmm6
movdqa xmmword [esp], xmm6
psrlw xmm6, 1
pavgb xmm6, xmmword [0x7123a010]
pxor xmm6, xmm4
pand xmm6, xmmword [0x7123a030]
psubb xmm4, xmm6
movdqa xmm5, xmmword [esi + ecx]
movdqa xmm6, xmmword [esi + ecx]
pavgb xmm5, xmm3
psubb xmm6, xmm3
paddb xmm7, xmm7
psubb xmm7, xmm6
pand xmm6, xmmword [0x7123a030]
psubb xmm5, xmm6
pavgb xmm5, xmm0
pavgb xmm5, xmmword [esp + 0x10]
psrlw xmm7, 2
pavgb xmm7, xmmword [0x7123a010]
pxor xmm7, xmm5
pand xmm7, xmmword [0x7123a030]
psubb xmm5, xmm7
vpxor xmm7, xmm1, xmm3
vpavgb xmm6, xmm1, xmm3
pand xmm7, xmmword [0x7123a030]
psubb xmm6, xmm7
pavgb xmm6, xmm0
pxor xmm5, xmm6
pxor xmm6, xmm1
pand xmm5, xmmword [esp + 0x30]
pand xmm6, xmmword [esp + 0x20]
pxor xmm5, xmm6
pxor xmm5, xmm1
movdqa xmmword [esi + edi], xmm5
movdqa xmm5, xmmword [esi]
vpaddb xmm6, xmm5, xmmword [esi + ecx]
pavgb xmm5, xmmword [esi + ecx]
pavgb xmm5, xmm4
paddb xmm6, xmm6
paddb xmm6, xmmword [esp]
psrlw xmm6, 2
pavgb xmm6, xmmword [0x7123a010]
pxor xmm6, xmm5
pand xmm6, xmmword [0x7123a030]
psubb xmm5, xmm6
pxor xmm4, xmm0
pxor xmm5, xmmword [esi + ecx]
pand xmm4, xmmword [esp + 0x30]
pand xmm5, xmmword [esp + 0x30]
pxor xmm4, xmm0
pxor xmm5, xmmword [esi + ecx]
movdqa xmmword [esi + ecx*2], xmm4
movdqa xmmword [esi + ecx], xmm5
movdqa xmm4, xmmword [eax + ecx*2]
movdqa xmm5, xmm2
pavgb xmm4, xmm3
pavgb xmm5, xmm1
pavgb xmm4, xmm5
movdqa xmmword [esp + 0x10], xmm5
movdqa xmm6, xmmword [eax + ecx*2]
movdqa xmm7, xmm2
paddb xmm6, xmm3
paddb xmm7, xmm1
paddb xmm6, xmm7
movdqa xmm7, xmm6
movdqa xmmword [esp], xmm6
psrlw xmm6, 1
pavgb xmm6, xmmword [0x7123a010]
pxor xmm6, xmm4
pand xmm6, xmmword [0x7123a030]
psubb xmm4, xmm6
movdqa xmm5, xmmword [eax + ecx*2]
movdqa xmm6, xmmword [eax + ecx*2]
pavgb xmm5, xmm0
psubb xmm6, xmm0
paddb xmm7, xmm7
psubb xmm7, xmm6
pand xmm6, xmmword [0x7123a030]
psubb xmm5, xmm6
pavgb xmm5, xmm3
pavgb xmm5, xmmword [esp + 0x10]
psrlw xmm7, 2
pavgb xmm7, xmmword [0x7123a010]
pxor xmm7, xmm5
pand xmm7, xmmword [0x7123a030]
psubb xmm5, xmm7
vpxor xmm7, xmm2, xmm0
vpavgb xmm6, xmm2, xmm0
pand xmm7, xmmword [0x7123a030]
psubb xmm6, xmm7
pavgb xmm6, xmm3
pxor xmm5, xmm6
pxor xmm6, xmm2
pand xmm5, xmmword [esp + 0x40]
pand xmm6, xmmword [esp + 0x20]
pxor xmm5, xmm6
pxor xmm5, xmm2
movdqa xmmword [eax], xmm5
movdqa xmm5, xmmword [eax + edi]
vpaddb xmm6, xmm5, xmmword [eax + ecx*2]
pavgb xmm5, xmmword [eax + ecx*2]
pavgb xmm5, xmm4
paddb xmm6, xmm6
paddb xmm6, xmmword [esp]
psrlw xmm6, 2
pavgb xmm6, xmmword [0x7123a010]
pxor xmm6, xmm5
pand xmm6, xmmword [0x7123a030]
psubb xmm5, xmm6
pxor xmm4, xmm3
pxor xmm5, xmmword [eax + ecx*2]
pand xmm4, xmmword [esp + 0x40]
pand xmm5, xmmword [esp + 0x40]
pxor xmm4, xmm3
pxor xmm5, xmmword [eax + ecx*2]
movdqa xmmword [eax + ecx], xmm4
movdqa xmmword [eax + ecx*2], xmm5
add esp, 0x60
pop edi
pop esi
pop ebx
ret