Function at 0x4eb140
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov edi, esi
or edi, ebx
mov dword [esp + 0xc], edx
je 0x4eb291
xor eax, eax
movd xmm0, esi
neg esi
mov edi, 0
sbb edi, ebx
movd xmm1, edi
movd xmm2, esi
punpckldq xmm2, xmm1
movd xmm1, ebx
punpckldq xmm0, xmm1
punpcklqdq xmm0, xmm2
lea esi, [esp + 0x50]
movdqa xmm1, xmmword [0x6865a0]
paddq xmm1, xmm0
movdqa xmmword [esi], xmm1
movdqa xmm1, xmmword [0x6865b0]
paddq xmm1, xmm0
movdqa xmmword [esi + 0x10], xmm1
movdqa xmm1, xmmword [0x6865c0]
paddq xmm1, xmm0
movdqa xmmword [esi + 0x20], xmm1
movdqa xmm1, xmmword [0x6865d0]
paddq xmm1, xmm0
movdqa xmmword [esi + 0x30], xmm1
movdqa xmm1, xmmword [0x6865e0]
paddq xmm1, xmm0
movdqa xmmword [esi + 0x40], xmm1
movdqa xmm1, xmmword [0x6865f0]
paddq xmm1, xmm0
movdqa xmmword [esi + 0x50], xmm1
movdqa xmm1, xmmword [0x686600]
paddq xmm1, xmm0
movdqa xmmword [esi + 0x60], xmm1
movdqa xmm1, xmmword [0x686610]
paddq xmm1, xmm0
movdqa xmmword [esi + 0x70], xmm1
movdqa xmm1, xmmword [0x686620]
paddq xmm1, xmm0
movdqa xmmword [esi + 0x80], xmm1
movdqa xmm1, xmmword [0x686630]
paddq xmm1, xmm0
movdqa xmmword [esi + 0x90], xmm1
movdqa xmm1, xmmword [0x686640]
paddq xmm1, xmm0
paddq xmm0, xmmword [0x686650]
movdqa xmmword [esi + 0xa0], xmm1
movdqa xmmword [esi + 0xb0], xmm0
add edx, 0xffffffff
cmp edx, 0x400
jae 0x4eb2c4
movdqa xmm3, xmmword [0x686660]
movdqa xmm2, xmmword [0x686670]
movdqa xmm1, xmmword [0x686680]
movdqa xmm0, xmmword [0x686690]
jmp 0x4eb4a6
lea eax, [edx - 1]
cmp eax, 0x400
jae 0x4eb692
movdqa xmm3, xmmword [0x686660]
movdqa xmm2, xmmword [0x686670]
movdqa xmm1, xmmword [0x686680]
movdqa xmm0, xmmword [0x686690]
jmp 0x4eb84b
mov edi, edx
shr edi, 0xa
movaps xmm0, xmmword [esp + 0xd0]
movaps xmmword [esp + 0x10], xmm0
movaps xmm0, xmmword [esp + 0xe0]
movaps xmmword [esp + 0x40], xmm0
movaps xmm0, xmmword [esp + 0xf0]
movaps xmmword [esp + 0x30], xmm0
movdqa xmm3, xmmword [0x686660]
movdqa xmm2, xmmword [0x686670]
movdqa xmm1, xmmword [0x686680]
movdqa xmm0, xmmword [0x686690]
movaps xmm4, xmmword [esp + 0x100]
movaps xmmword [esp + 0x20], xmm4
mov ebx, ecx
movdqa xmm4, xmmword [0x6866a0]
nop word [eax + eax]
xor esi, esi
nop word cs:[eax + eax]
nop dword [eax]
prefetcht0 byte [ebx + esi*8 + 0x140]
movdqu xmm5, xmmword [ebx + esi*8]
movdqu xmm6, xmmword [esp + esi + 0x50]
pxor xmm6, xmm5
pshufd xmm7, xmm6, 0xf5
pmuludq xmm7, xmm6
movdqu xmm6, xmmword [ebx + esi*8 + 0x10]
pshufd xmm5, xmm5, 0x4e
paddq xmm3, xmm5
movdqu xmm5, xmmword [esp + esi + 0x60]
paddq xmm3, xmm7
pxor xmm5, xmm6
pshufd xmm7, xmm5, 0xf5
pmuludq xmm7, xmm5
pshufd xmm5, xmm6, 0x4e
paddq xmm2, xmm5
paddq xmm2, xmm7
movdqu xmm5, xmmword [ebx + esi*8 + 0x20]
movdqu xmm6, xmmword [esp + esi + 0x70]
pxor xmm6, xmm5
pshufd xmm7, xmm6, 0xf5
pmuludq xmm7, xmm6
pshufd xmm5, xmm5, 0x4e
paddq xmm1, xmm5
paddq xmm1, xmm7
movdqu xmm5, xmmword [ebx + esi*8 + 0x30]
movdqu xmm6, xmmword [esp + esi + 0x80]
pxor xmm6, xmm5
pshufd xmm7, xmm6, 0xf5
pmuludq xmm7, xmm6
pshufd xmm5, xmm5, 0x4e
paddq xmm0, xmm5
paddq xmm0, xmm7
add esi, 8
cmp esi, 0x80
jne 0x4eb340
movdqa xmm5, xmm3
psrlq xmm5, 0x2f
pxor xmm3, xmmword [esp + 0x10]
pxor xmm5, xmm3
pmuludq xmm5, xmm4
pshufd xmm3, xmm3, 0xf5
pmuludq xmm3, xmm4
psllq xmm3, 0x20
paddq xmm3, xmm5
movdqa xmm5, xmm2
psrlq xmm5, 0x2f
pxor xmm2, xmmword [esp + 0x40]
pxor xmm5, xmm2
pmuludq xmm5, xmm4
pshufd xmm2, xmm2, 0xf5
pmuludq xmm2, xmm4
psllq xmm2, 0x20
paddq xmm2, xmm5
movdqa xmm5, xmm1
psrlq xmm5, 0x2f
pxor xmm1, xmmword [esp + 0x30]
pxor xmm5, xmm1
pmuludq xmm5, xmm4
pshufd xmm1, xmm1, 0xf5
pmuludq xmm1, xmm4
psllq xmm1, 0x20
paddq xmm1, xmm5
movdqa xmm5, xmm0
psrlq xmm5, 0x2f
pxor xmm0, xmmword [esp + 0x20]
pxor xmm5, xmm0
pmuludq xmm5, xmm4
pshufd xmm0, xmm0, 0xf5
pmuludq xmm0, xmm4
psllq xmm0, 0x20
paddq xmm0, xmm5
add eax, 1
add ebx, 0x400
cmp eax, edi
jne 0x4eb330
mov eax, edx
and eax, 0x3ff
cmp eax, 0x40
jae 0x4eb4cb
movdqa xmm4, xmm0
movdqa xmm5, xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
mov esi, dword [esp + 0xc]
jmp 0x4eb5a7
and edx, 0xfffffc00
shr eax, 6
add edx, ecx
shl eax, 3
xor edi, edi
mov esi, dword [esp + 0xc]
nop
prefetcht0 byte [edx + edi*8 + 0x140]
movdqu xmm5, xmmword [edx + edi*8]
movups xmm4, xmmword [edx + edi*8 + 0x10]
movaps xmmword [esp + 0x10], xmm4
movdqu xmm6, xmmword [esp + edi + 0x50]
pxor xmm6, xmm5
pshufd xmm4, xmm6, 0xf5
pmuludq xmm4, xmm6
movdqu xmm6, xmmword [esp + edi + 0x60]
pshufd xmm7, xmm5, 0x4e
paddq xmm7, xmm3
paddq xmm7, xmm4
movdqa xmm4, xmmword [esp + 0x10]
pxor xmm6, xmm4
pshufd xmm3, xmm6, 0xf5
pmuludq xmm3, xmm6
pshufd xmm6, xmm4, 0x4e
paddq xmm6, xmm2
paddq xmm6, xmm3
movdqu xmm2, xmmword [edx + edi*8 + 0x20]
movdqu xmm3, xmmword [esp + edi + 0x70]
pxor xmm3, xmm2
pshufd xmm4, xmm3, 0xf5
pmuludq xmm4, xmm3
pshufd xmm5, xmm2, 0x4e
paddq xmm5, xmm1
paddq xmm5, xmm4
movdqu xmm1, xmmword [edx + edi*8 + 0x30]
movdqu xmm2, xmmword [esp + edi + 0x80]
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 eax, edi
jne 0x4eb4e0
movdqu xmm1, xmmword [ecx + esi - 0x40]
movdqu xmm2, xmmword [esp + 0xc9]
movdqu xmm0, xmmword [esp + 0xd9]
pxor xmm2, xmm1
pshufd xmm3, xmm2, 0xf5
pmuludq xmm3, xmm2
pshufd xmm1, xmm1, 0x4e
paddq xmm1, xmm3
paddq xmm1, xmm7
movdqa xmmword [esp + 0x110], xmm1
movdqu xmm1, xmmword [ecx + esi - 0x30]
pxor xmm0, xmm1
pshufd xmm2, xmm0, 0xf5
pmuludq xmm2, xmm0
pshufd xmm0, xmm1, 0x4e
paddq xmm0, xmm2
paddq xmm0, xmm6
movdqa xmmword [esp + 0x120], xmm0
movdqu xmm0, xmmword [ecx + esi - 0x20]
movdqu xmm1, xmmword [esp + 0xe9]
pxor xmm1, xmm0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
paddq xmm0, xmm2
paddq xmm0, xmm5
movdqa xmmword [esp + 0x130], xmm0
movdqu xmm0, xmmword [ecx + esi - 0x10]
movdqu xmm1, xmmword [esp + 0xf9]
pxor xmm1, xmm0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
paddq xmm0, xmm2
paddq xmm0, xmm4
mov ecx, 0x85ebca87
mov eax, esi
mul ecx
movdqa xmmword [esp + 0x140], xmm0
lea edi, [esp + 0x5b]
imul esi, esi, 0x9e3779b1
add esi, edx
lea ecx, [esp + 0x110]
mov edx, edi
jmp 0x4eba21
mov edx, eax
shr edx, 0xa
xor edi, edi
movdqa xmm3, xmmword [0x686660]
movdqa xmm2, xmmword [0x686670]
movdqa xmm1, xmmword [0x686680]
movdqa xmm0, xmmword [0x686690]
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 0x4eb6d0
movdqa xmm4, xmm3
psrlq xmm4, 0x2f
pxor xmm4, xmm3
pxor xmm4, xmmword [0x686620]
pshufd xmm3, xmm4, 0xf5
movdqa xmm5, xmmword [0x6866a0]
pmuludq xmm4, xmm5
pmuludq xmm3, xmm5
psllq xmm3, 0x20
paddq xmm3, xmm4
movdqa xmm4, xmm2
psrlq xmm4, 0x2f
pxor xmm4, xmm2
pxor xmm4, xmmword [0x686630]
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 [0x686640]
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 [0x686650]
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 0x4eb6c0
mov edx, eax
and edx, 0x3ff
cmp edx, 0x40
mov esi, dword [esp + 0xc]
jae 0x4eb871
movdqa xmm4, xmm0
movdqa xmm5, xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
jmp 0x4eb94c
and eax, 0xfffffc00
shr edx, 6
add eax, ecx
shl edx, 3
xor edi, edi
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 0x4eb880
movdqu xmm0, xmmword [ecx + esi - 0x40]
movdqa xmm1, xmmword [0x6866b0]
pxor xmm1, xmm0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
paddq xmm0, xmm2
paddq xmm0, xmm7
movdqa xmmword [esp + 0x50], xmm0
movdqu xmm0, xmmword [ecx + esi - 0x30]
movdqa xmm1, xmmword [0x6866c0]
pxor xmm1, xmm0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
paddq xmm0, xmm2
paddq xmm0, xmm6
movdqa xmmword [esp + 0x60], xmm0
movdqu xmm0, xmmword [ecx + esi - 0x20]
movdqa xmm1, xmmword [0x6866d0]
pxor xmm1, xmm0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm2, xmm1
pshufd xmm0, xmm0, 0x4e
paddq xmm0, xmm2
paddq xmm0, xmm5
movdqa xmmword [esp + 0x70], xmm0
movdqu xmm0, xmmword [ecx + esi - 0x10]
movdqa xmm1, xmmword [0x6866e0]
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 + 0x80], xmm0
imul esi, esi, 0x9e3779b1
add esi, edx
lea ecx, [esp + 0x50]
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