Function at 0x488db0
Capabilities:
Encode data using xor
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
lea esp, [esp - 0x10]
push ebx
push esi
push edi
mov ebx, edx
mov eax, dword [ebp + 8]
mov dword [ebp - 8], eax
shl ecx, 2
add ebx, ecx
mov eax, dword [ebx]
call fcn.004857d0
mov esi, eax
add ebx, 4
mov dword [ebp - 4], ebx
mov edx, ebx
mov eax, dword [edx]
call fcn.004857d0
sub dword [ebp - 4], 4
mov edx, esi
shr edx, 4
xor edx, eax
and edx, 0xf0f0f0f
mov ecx, edx
xor ecx, eax
shl edx, 4
xor edx, esi
mov ebx, edx
shr edx, 0x10
xor edx, ecx
and edx, 0xffff
mov eax, edx
xor eax, ecx
shl edx, 0x10
xor edx, ebx
mov ecx, eax
shr ecx, 2
xor ecx, edx
and ecx, 0x33333333
mov ebx, ecx
xor ebx, edx
shl ecx, 2
xor ecx, eax
mov edx, ecx
shr ecx, 8
xor ecx, ebx
and ecx, 0xff00ff
mov eax, ecx
xor eax, ebx
shl ecx, 8
xor ecx, edx
rol ecx, 1
mov edx, ecx
xor edx, eax
and edx, 0xaaaaaaaa
mov dword [ebp - 0xc], edx
xor edx, ecx
mov edi, edx
mov edx, dword [ebp - 0xc]
xor edx, eax
rol edx, 1
mov dword [ebp - 0x10], edx
mov edx, 0xffffffff
lea esi, [esi]
add edx, 1
mov eax, edi
rol eax, 0x1c
mov ebx, dword [ebp - 8]
xor eax, dword [ebx]
mov dword [ebp - 0xc], eax
add dword [ebp - 8], 4
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
mov eax, edi
xor eax, ebx
mov ecx, eax
add dword [ebp - 8], 4
mov ebx, 0x4ed590
mov eax, dword [ebp - 0xc]
shr eax, 8
and eax, 0x3f
mov esi, dword [ebp - 0xc]
and esi, 0x3f
mov eax, dword [ebx + eax*4 + 0x100]
mov esi, dword [ebx + esi*4]
or esi, eax
mov eax, dword [ebp - 0xc]
shr eax, 0x10
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x200]
mov eax, dword [ebp - 0xc]
shr eax, 0x18
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x300]
mov eax, ecx
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x400]
mov eax, ecx
shr eax, 8
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x500]
mov eax, ecx
shr eax, 0x10
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x600]
mov eax, ecx
shr eax, 0x18
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x700]
xor esi, dword [ebp - 0x10]
mov dword [ebp - 0x10], esi
mov eax, esi
rol eax, 0x1c
mov ebx, dword [ebp - 8]
xor eax, dword [ebx]
mov dword [ebp - 0xc], eax
add dword [ebp - 8], 4
mov eax, dword [ebp - 8]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x10]
xor eax, ebx
mov ecx, eax
add dword [ebp - 8], 4
mov ebx, 0x4ed590
mov eax, dword [ebp - 0xc]
shr eax, 8
and eax, 0x3f
mov esi, dword [ebp - 0xc]
and esi, 0x3f
mov eax, dword [ebx + eax*4 + 0x100]
mov esi, dword [ebx + esi*4]
or esi, eax
mov eax, dword [ebp - 0xc]
shr eax, 0x10
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x200]
mov eax, dword [ebp - 0xc]
shr eax, 0x18
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x300]
mov eax, ecx
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x400]
mov eax, ecx
shr eax, 8
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x500]
mov eax, ecx
shr eax, 0x10
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x600]
mov eax, ecx
shr eax, 0x18
and eax, 0x3f
or esi, dword [ebx + eax*4 + 0x700]
xor esi, edi
mov edi, esi
cmp edx, 7
jb 0x488e60
mov eax, edi
rol eax, 0x1f
mov esi, eax
xor esi, dword [ebp - 0x10]
and esi, 0xaaaaaaaa
mov ebx, esi
xor ebx, eax
xor esi, dword [ebp - 0x10]
rol esi, 0x1f
mov edx, esi
shr edx, 8
xor edx, ebx
and edx, 0xff00ff
mov ecx, edx
xor ecx, ebx
shl edx, 8
xor edx, esi
mov eax, edx
shr eax, 2
xor eax, ecx
and eax, 0x33333333
mov ebx, eax
xor ebx, ecx
shl eax, 2
xor eax, edx
mov ecx, ebx
shr ecx, 0x10
xor ecx, eax
and ecx, 0xffff
mov edx, ecx
xor edx, eax
shl ecx, 0x10
xor ecx, ebx
mov eax, ecx
shr eax, 4
xor eax, edx
and eax, 0xf0f0f0f
mov esi, eax
xor esi, edx
shl eax, 4
xor eax, ecx
call fcn.004857d0
mov ebx, dword [ebp - 4]
mov dword [ebx], eax
add ebx, 4
mov eax, esi
call fcn.004857d0
mov dword [ebx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4