Function at 0x403b97
Capabilities:
Encode data using xor

Disassembly:
psllq mm5, 0xc2
psrld mm1, 0x9f
psrld mm4, 0xc5
pxor xmm3, xmm5
psrad mm3, mm4
pop edx
packsswb mm4, mm5
paddw mm6, mm7
punpcklbw mm1, mm1
psubd mm0, mm1
paddusw xmm1, xmm0
psllw mm2, 0x32
pcmpgtb mm5, mm5
psrld mm4, 0x28
psubsb mm5, mm2
push edx
pand mm4, mm5
psubsw xmm7, xmm4
punpckhbw mm4, mm2
pmulhw mm4, mm3
pcmpgtw xmm6, xmm7
paddw mm2, mm3
add edx, 0xd
psllw mm3, 0xb6
paddsw xmm4, xmm5
psllw mm0, 0xc6
paddw xmm4, xmm5
pandn mm2, mm7
paddsw mm3, mm4
pandn mm7, mm3
pmulhw xmm5, xmm3
pand xmm3, xmm6
paddusw xmm4, xmm2
push edx
push esp
punpckhbw mm2, mm4
paddw xmm2, xmm2
packuswb xmm4, xmm3
psrld xmm1, 0xf9
call eax
punpckhwd mm2, mm3
psubusb mm1, mm2
paddsw mm7, mm2
add esp, 0x1c
psllw mm2, 0x11
pslld xmm7, 0xc6
psubd xmm4, xmm5
psubusb mm3, mm6
pcmpeqb xmm6, xmm1
pmulhw mm0, mm5
pslld mm5, 1
psllw mm5, 0x82
psubw mm7, mm3
mov dword [ebp + 4], eax
punpckldq xmm6, xmm4
pcmpgtw mm5, mm7
psubsw mm0, mm4
pcmpgtw mm2, mm1
punpcklwd xmm0, xmm3
pcmpeqd mm6, mm5
mov ebp, dword [edi]
psrlw xmm2, 0x1b
pcmpeqb mm0, mm1
pcmpeqb mm2, mm5
pcmpgtd xmm4, xmm6
psrad mm1, mm1
inc esi
paddusw xmm5, xmm3
paddsb mm3, mm0
pcmpeqd mm2, mm7
xor ebp, esi
punpckhwd xmm2, xmm3
paddd mm4, mm1
pcmpeqd xmm3, xmm0
psubusb mm3, mm1
por mm3, mm4
cmp ebp, 0xc021c021
jne 0x403c5f
psubb mm2, mm3
psrlq xmm1, 0x9c
psrlw xmm2, 0x18
pcmpgtb xmm5, xmm2
psubsb mm1, mm2
psrld mm2, 0xbc
psrad mm3, mm1
pop ebp
packuswb xmm1, xmm5
pmaddwd mm1, mm4
packssdw mm3, mm5
psrlq mm0, 0xd9
packssdw xmm7, xmm4
push esi
pmaddwd xmm2, xmm4
pcmpgtb mm1, mm4
psubusb xmm4, xmm6
packssdw xmm0, xmm2
psllq xmm6, 0x68
punpckldq mm5, mm7
psrad xmm0, xmm1
paddsw xmm4, xmm4
paddb xmm2, xmm1
pcmpgtw xmm3, xmm1
pmulhw xmm4, xmm3
packuswb mm0, mm6
push 0x40
packuswb xmm5, xmm3
psubd xmm4, xmm4
pcmpgtb mm5, mm0
pmaddwd xmm1, xmm4
psllw mm6, 0x22
psrlw mm6, 0xa2
psubb xmm0, xmm1
psraw mm3, mm5
pcmpgtb mm2, mm4
push 0x1000
psubsb mm5, mm0
pcmpeqb mm0, mm5
punpckhwd xmm6, xmm7
pcmpeqb xmm5, xmm1
psubusb mm6, mm6
pcmpgtb xmm1, xmm4
punpcklbw mm5, mm6
push 0x6000
paddsw xmm0, xmm2
pxor xmm5, xmm3
punpcklwd mm2, mm7
psraw xmm4, xmm5
push 0
punpckhdq xmm6, xmm1
psraw xmm7, xmm3
paddw mm3, mm5
paddw mm1, mm2
call dword [ebp + 4]
psubw mm2, mm7
pxor mm4, mm3
psubd mm1, mm1
punpckhwd xmm6, xmm7
pmaddwd xmm6, xmm0
pcmpgtd mm0, mm4
paddsb xmm3, xmm0
pxor mm0, mm0
psrad mm7, mm1
punpckhwd xmm2, xmm3
paddd mm4, mm1
cld
psrad mm0, mm1
pmaddwd mm1, mm4
psrad mm4, mm3
psubb mm2, mm3
psrlq xmm1, 0x9c
psrlw xmm2, 0x18
pcmpgtb xmm2, xmm7
psllw xmm6, 0x64
pand xmm7, xmm1
mov ecx, 0x4000
punpckldq mm6, mm6
pmaddwd mm6, mm2
pcmpeqw xmm5, xmm1
pmulhw xmm0, xmm1
punpckhdq xmm5, xmm5
por mm4, mm0
paddusw mm4, mm7
pandn xmm6, xmm5
packssdw mm3, mm1
pslld mm3, 0xf8
mov esi, edi
punpckldq mm3, mm4
paddsb xmm2, xmm4
punpckhbw mm5, mm6
psrld mm1, 0x3d
packuswb mm7, mm6
psubsw xmm0, xmm6
pcmpgtb mm1, mm0
pmaddwd mm5, mm2
pand mm3, mm2
psraw mm4, mm1
punpckhwd xmm5, xmm1
psubsb xmm1, xmm6
mov edi, eax
paddw xmm3, xmm1
pcmpgtd mm3, mm2
pmullw mm5, mm6
packuswb xmm0, xmm2
rep movsb byte es:[edi], byte [esi]
psubb xmm0, xmm0
pslld xmm1, 0x54
pxor xmm5, xmm2
paddsb mm3, mm4
psubsb mm2, mm6
psllw mm3, 0x74
pandn mm6, mm0
paddusb xmm2, xmm2
psubusb mm3, mm5
pand mm4, mm2
sub edi, 0x4000
psrad xmm7, xmm3
packuswb mm1, mm2
paddusb mm3, mm3
pop esi
packsswb mm4, mm0
psrlq xmm0, 0x1d
punpckhwd mm6, mm7
psubw mm7, mm7
pxor xmm0, xmm1
pmullw xmm6, xmm6
punpcklwd xmm2, xmm3
paddusb mm3, mm3
punpckhdq xmm6, xmm5
psrlw mm2, 0x5e
push edi
paddd mm5, mm5
punpckhbw xmm4, xmm6
paddb mm6, mm0
psllq xmm1, 0xf5
paddusb xmm0, xmm4
pandn xmm0, xmm5
paddd xmm0, xmm1
pxor mm5, mm7
paddb mm2, mm5
xor dword [edi], esi
pcmpgtw mm6, mm7
punpckhdq xmm2, xmm7
psllw xmm6, 0x64
pand xmm7, xmm1
paddsb xmm0, xmm6
punpckhwd xmm1, xmm6
pandn mm7, mm5
punpcklbw xmm6, xmm0
paddusb xmm7, xmm5
add edi, 4
por mm4, mm0
paddusw mm4, mm7
pandn xmm6, xmm5
packssdw mm3, mm1
pslld mm3, 0xf8
psubusb xmm3, xmm3
psllq mm5, 0xc8
pmulhw mm2, mm5
psrld xmm1, 0xfe
cmp dword [edi - 4], 0x70707070
jne 0x403e87
pcmpgtd mm7, mm6
psubsw xmm0, xmm6
pcmpgtb mm1, mm0
pmaddwd mm5, mm2
pop edi
pmullw mm2, mm0
pxor xmm1, xmm1
psubusb xmm1, xmm5
pcmpeqw mm6, mm1
paddw xmm3, xmm1
jmp edi