Function at 0x4e9c60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x70
mov dword [esp + 0xc], edx
lea eax, [edx - 1]
cmp eax, 0x400
jae 0x4e9c9f
movdqa xmm3, xmmword [0x6863a0]
movdqa xmm2, xmmword [0x6863b0]
movdqa xmm1, xmmword [0x6863c0]
movdqa xmm0, xmmword [0x6863d0]
jmp 0x4e9e5b
mov edx, eax
shr edx, 0xa
xor edi, edi
movdqa xmm3, xmmword [0x6863a0]
movdqa xmm2, xmmword [0x6863b0]
movdqa xmm1, xmmword [0x6863c0]
movdqa xmm0, xmmword [0x6863d0]
mov ebx, ecx
nop dword [eax + eax]
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
prefetcht0 byte [ebx + esi*8 + 0x140]
movdqu xmm7, xmmword [esi + 0x687580]
movdqu xmm4, xmmword [ebx + esi*8]
movdqu xmm6, xmmword [ebx + esi*8 + 0x10]
pxor xmm7, xmm4
pshufd xmm5, xmm7, 0xf5
pmuludq xmm5, xmm7
pshufd xmm4, xmm4, 0x4e
paddq xmm3, xmm4
paddq xmm3, xmm5
movdqu xmm4, xmmword [esi + 0x687590]
pxor xmm4, xmm6
pshufd xmm5, xmm4, 0xf5
pmuludq xmm5, xmm4
pshufd xmm4, xmm6, 0x4e
paddq xmm2, xmm4
paddq xmm2, xmm5
movdqu xmm4, xmmword [ebx + esi*8 + 0x20]
movdqu xmm5, xmmword [esi + 0x6875a0]
pxor xmm5, xmm4
pshufd xmm6, xmm5, 0xf5
pmuludq xmm6, xmm5
pshufd xmm4, xmm4, 0x4e
paddq xmm1, xmm4
paddq xmm1, xmm6
movdqu xmm4, xmmword [ebx + esi*8 + 0x30]
movdqu xmm5, xmmword [esi + 0x6875b0]
pxor xmm5, xmm4
pshufd xmm6, xmm5, 0xf5
pmuludq xmm6, xmm5
pshufd xmm4, xmm4, 0x4e
paddq xmm0, xmm4
paddq xmm0, xmm6
add esi, 8
cmp esi, 0x80
jne 0x4e9ce0
movdqa xmm4, xmm3
psrlq xmm4, 0x2f
pxor xmm4, xmm3
pxor xmm4, xmmword [0x6863e0]
pshufd xmm3, xmm4, 0xf5
movdqa xmm5, xmmword [0x6863f0]
pmuludq xmm4, xmm5
pmuludq xmm3, xmm5
psllq xmm3, 0x20
paddq xmm3, xmm4
movdqa xmm4, xmm2
psrlq xmm4, 0x2f
pxor xmm4, xmm2
pxor xmm4, xmmword [0x686400]
pshufd xmm2, xmm4, 0xf5
pmuludq xmm4, xmm5
pmuludq xmm2, xmm5
psllq xmm2, 0x20
paddq xmm2, xmm4
movdqa xmm4, xmm1
psrlq xmm4, 0x2f
pxor xmm4, xmm1
pxor xmm4, xmmword [0x686410]
pshufd xmm1, xmm4, 0xf5
pmuludq xmm4, xmm5
pmuludq xmm1, xmm5
psllq xmm1, 0x20
paddq xmm1, xmm4
movdqa xmm4, xmm0
psrlq xmm4, 0x2f
pxor xmm4, xmm0
pxor xmm4, xmmword [0x686420]
pshufd xmm0, xmm4, 0xf5
pmuludq xmm4, xmm5
pmuludq xmm0, xmm5
psllq xmm0, 0x20
paddq xmm0, xmm4
add edi, 1
add ebx, 0x400
cmp edi, edx
jne 0x4e9cd0
mov edx, eax
and edx, 0x3ff
cmp edx, 0x40
jae 0x4e9e7d
movdqa xmm4, xmm0
movdqa xmm5, xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
jmp 0x4e9f5c
and eax, 0xfffffc00
shr edx, 6
add eax, ecx
shl edx, 3
xor edi, edi
nop dword [eax]
prefetcht0 byte [eax + edi*8 + 0x140]
movdqu xmm5, xmmword [edi + 0x687580]
movdqu xmm6, xmmword [eax + edi*8]
movups xmm4, xmmword [eax + edi*8 + 0x10]
movaps xmmword [esp + 0x10], xmm4
pxor xmm5, xmm6
pshufd xmm4, xmm5, 0xf5
pmuludq xmm4, xmm5
pshufd xmm7, xmm6, 0x4e
paddq xmm7, xmm3
paddq xmm7, xmm4
movdqu xmm3, xmmword [edi + 0x687590]
movdqa xmm5, xmmword [esp + 0x10]
pxor xmm3, xmm5
pshufd xmm4, xmm3, 0xf5
pmuludq xmm4, xmm3
pshufd xmm6, xmm5, 0x4e
paddq xmm6, xmm2
paddq xmm6, xmm4
movdqu xmm2, xmmword [eax + edi*8 + 0x20]
movdqu xmm3, xmmword [edi + 0x6875a0]
pxor xmm3, xmm2
pshufd xmm4, xmm3, 0xf5
pmuludq xmm4, xmm3
pshufd xmm5, xmm2, 0x4e
paddq xmm5, xmm1
paddq xmm5, xmm4
movdqu xmm1, xmmword [eax + edi*8 + 0x30]
movdqu xmm2, xmmword [edi + 0x6875b0]
pxor xmm2, xmm1
pshufd xmm3, xmm2, 0xf5
pmuludq xmm3, xmm2
pshufd xmm4, xmm1, 0x4e
paddq xmm4, xmm0
paddq xmm4, xmm3
add edi, 8
movdqa xmm0, xmm4
movdqa xmm1, xmm5
movdqa xmm2, xmm6
movdqa xmm3, xmm7
cmp edx, edi
jne 0x4e9e90
mov esi, dword [esp + 0xc]
movdqu xmm0, xmmword [ecx + esi - 0x40]
movdqa xmm1, xmmword [0x686430]
pxor xmm1, xmm0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
paddq xmm0, xmm2
paddq xmm0, xmm7
movdqa xmmword [esp + 0x20], xmm0
movdqu xmm0, xmmword [ecx + esi - 0x30]
movdqa xmm1, xmmword [0x686440]
pxor xmm1, xmm0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
paddq xmm0, xmm2
paddq xmm0, xmm6
movdqa xmmword [esp + 0x30], xmm0
movdqu xmm0, xmmword [ecx + esi - 0x20]
movdqa xmm1, xmmword [0x686450]
pxor xmm1, xmm0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
paddq xmm0, xmm2
paddq xmm0, xmm5
movdqa xmmword [esp + 0x40], xmm0
movdqu xmm0, xmmword [ecx + esi - 0x10]
movdqa xmm1, xmmword [0x686460]
pxor xmm1, xmm0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
paddq xmm0, xmm2
mov ecx, 0x85ebca87
mov eax, esi
mul ecx
paddq xmm0, xmm4
movdqa xmmword [esp + 0x50], xmm0
imul esi, esi, 0x9e3779b1
add esi, edx
lea ecx, [esp + 0x20]
mov edx, 0x68758b
push esi
push eax
call fcn.004ee340
add esp, 8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret