Function at 0x40e9a0
Capabilities:
Encode data using xor

Disassembly:
phaddd mm1, mm2
pminub mm1, mm2
push 0xbbe862eb
pmaxsw mm1, mm2
phaddd mm1, mm2
pop eax
pminub mm1, mm2
pminub mm1, mm2
mov edi, 0xf47142e7
pmulhuw mm1, mm2
pmulhuw mm1, mm2
add edi, 0xbcf0b8e
pminub mm1, mm2
pmulhuw mm1, mm2
sub ecx, ecx
phaddd mm1, mm2
inc ebx
phaddd mm1, mm2
or ecx, dword [edi]
pmaxsw mm1, mm2
xor ecx, ebx
pmaxsw mm1, mm2
cmp ecx, eax
jne 0x404c18
pmaxsw mm1, mm2
pminub mm1, mm2
mov esi, ebx
pminub mm1, mm2
pmaxsw mm1, mm2
mov ecx, 0x4c5b0f
pmulhuw mm1, mm2
pmulhuw mm1, mm2
sub ecx, 0x98e5d
phaddd mm1, mm2
pminub mm1, mm2
add ecx, 0x2230a0
pmulhuw mm1, mm2
pminub mm1, mm2
sub ecx, 0x24ed52
pminub mm1, mm2
pmulhuw mm1, mm2
pmaxsw mm1, mm2
phaddd mm1, mm2
push dword [ecx]
phaddd mm1, mm2
pminub mm1, mm2
pop edx
phaddd mm1, mm2
pmulhuw mm1, mm2
mov ebx, 0xe88f7b
phaddd mm1, mm2
pmulhuw mm1, mm2
sub ebx, 0x886149
pminub mm1, mm2
pmulhuw mm1, mm2
sub ebx, 0x3333df
phaddd mm1, mm2
phaddd mm1, mm2
add ebx, 0x635ffa
pmaxsw mm1, mm2
pmulhuw mm1, mm2
pmaxsw mm1, mm2
pmaxsw mm1, mm2
phaddd mm1, mm2
pmulhuw mm1, mm2
dec edx
pmulhuw mm1, mm2
pmulhuw mm1, mm2
xor ecx, ecx
pmulhuw mm1, mm2
pminub mm1, mm2
or ecx, dword [edx]
pmaxsw mm1, mm2
pminub mm1, mm2
cmp ecx, ebx
jne 0x404cbf
phaddd mm1, mm2
pmulhuw mm1, mm2
xor ecx, ecx
pminub mm1, mm2
pminub mm1, mm2
xor ebx, ebx
pmaxsw mm1, mm2
pmaxsw mm1, mm2
mov ebx, 0xd8
phaddd mm1, mm2
pmaxsw mm1, mm2
xor ebx, 0x67
phaddd mm1, mm2
pminub mm1, mm2
sub ebx, 0x54
pminub mm1, mm2
phaddd mm1, mm2
sub ebx, 0x2b
phaddd mm1, mm2
phaddd mm1, mm2
pmulhuw mm1, mm2
phaddd mm1, mm2
push ebx
pmaxsw mm1, mm2
phaddd mm1, mm2
mov eax, 0x339
pminub mm1, mm2
pminub mm1, mm2
add eax, 0x72d
pmulhuw mm1, mm2
pminub mm1, mm2
add eax, 0x12cc
pmulhuw mm1, mm2
pminub mm1, mm2
sub eax, 0xd32
pmulhuw mm1, mm2
pmaxsw mm1, mm2
pmaxsw mm1, mm2
pmulhuw mm1, mm2
push eax
pmulhuw mm1, mm2
pmaxsw mm1, mm2
mov eax, 0x8000
pmulhuw mm1, mm2
pmulhuw mm1, mm2
push eax
pmulhuw mm1, mm2
phaddd mm1, mm2
mov eax, 0
pminub mm1, mm2
phaddd mm1, mm2
push eax
pmulhuw mm1, mm2
pmaxsw mm1, mm2
pmaxsw mm1, mm2
pminub mm1, mm2
mov eax, 0x1c7
pmulhuw mm1, mm2
pmulhuw mm1, mm2
add eax, 0x3ac
pminub mm1, mm2
phaddd mm1, mm2
sub eax, 0xbd6
phaddd mm1, mm2
pmaxsw mm1, mm2
add eax, 0x172f
pminub mm1, mm2
pminub mm1, mm2
pminub mm1, mm2
pminub mm1, mm2
pmulhuw mm1, mm2
phaddd mm1, mm2
pmaxsw mm1, mm2
phaddd mm1, mm2
add edx, eax
phaddd mm1, mm2
pmulhuw mm1, mm2
phaddd mm1, mm2
phaddd mm1, mm2
pmaxsw mm1, mm2
pminub mm1, mm2
pmulhuw mm1, mm2
pmulhuw mm1, mm2
phaddd mm1, mm2
phaddd mm1, mm2
phaddd mm1, mm2
pminub mm1, mm2
call dword [edx]
pmulhuw mm1, mm2
pminub mm1, mm2
sub edx, edx
pmulhuw mm1, mm2
pminub mm1, mm2
mov ebx, edx
pmulhuw mm1, mm2
pmaxsw mm1, mm2
push dword [edi]
phaddd mm1, mm2
pmulhuw mm1, mm2
xor dword [esp], esi
pmulhuw mm1, mm2
phaddd mm1, mm2
pop ecx
phaddd mm1, mm2
pminub mm1, mm2
mov dword [eax + ebx], ecx
phaddd mm1, mm2
pmaxsw mm1, mm2
clc
adc edx, 4
pmaxsw mm1, mm2
pminub mm1, mm2
clc
adc edi, 4
pmulhuw mm1, mm2
phaddd mm1, mm2
cmp edx, 0x329c
jne 0x404e15
pmulhuw mm1, mm2
pmulhuw mm1, mm2
push eax
pmaxsw mm1, mm2
phaddd mm1, mm2
ret
push ebp
mov ebp, esp
sub esp, 8
push 0x401256
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x401238
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], eax
mov dword [0x40f024], 0xeaea
jmp 0x404be7