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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
mov ebx, dword [ebp + 8]
test ebx, ebx
js 0x4a80be
mov esi, dword [ecx + ebx*4]
dec ebx
push esi
jns 0x4a80b7
mov ecx, esp
mov dword [ebp - 8], ecx
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov ecx, dword [ecx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, ecx
shr edx, 4
xor edx, eax
and edx, 0xf0f0f0f
xor eax, edx
shl edx, 4
xor ecx, edx
mov edx, ecx
shr edx, 0x10
xor edx, eax
and edx, 0xffff
xor eax, edx
shl edx, 0x10
xor ecx, edx
mov edx, eax
shr edx, 2
xor edx, ecx
and edx, 0x33333333
xor ecx, edx
shl edx, 2
xor eax, edx
mov edx, eax
shr edx, 8
xor edx, ecx
and edx, 0xff00ff
xor ecx, edx
shl edx, 8
xor eax, edx
mov edx, eax
add edx, edx
shr eax, 0x1f
and eax, 1
or edx, eax
and edx, 0xffffffff
mov eax, edx
mov edx, eax
xor edx, ecx
and edx, 0xaaaaaaaa
xor ecx, edx
xor eax, edx
mov edx, ecx
add edx, edx
shr ecx, 0x1f
and ecx, 1
or edx, ecx
and edx, 0xffffffff
mov ecx, edx
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], 8
mov edx, eax
shl edx, 0x1c
mov ebx, eax
shr ebx, 4
or edx, ebx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
xor edx, dword [ebx + esi*4]
inc dword [ebp - 0x10]
mov ebx, edx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4c1e70]
mov esi, edx
shr esi, 8
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1c70]
mov esi, edx
shr esi, 0x10
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1a70]
shr edx, 0x18
and edx, 0x3f
or ebx, dword [edx*4 + 0x4c1870]
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edx, dword [edx + esi*4]
xor edx, eax
inc dword [ebp - 0x10]
mov esi, edx
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1f70]
mov esi, edx
shr esi, 8
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1d70]
mov esi, edx
shr esi, 0x10
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1b70]
shr edx, 0x18
and edx, 0x3f
or ebx, dword [edx*4 + 0x4c1970]
xor ecx, ebx
mov edx, ecx
shl edx, 0x1c
mov ebx, ecx
shr ebx, 4
or edx, ebx
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
xor edx, dword [ebx + esi*4]
inc dword [ebp - 0x10]
mov ebx, edx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4c1e70]
mov esi, edx
shr esi, 8
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1c70]
mov esi, edx
shr esi, 0x10
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1a70]
shr edx, 0x18
and edx, 0x3f
or ebx, dword [edx*4 + 0x4c1870]
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edx, dword [edx + esi*4]
xor edx, ecx
inc dword [ebp - 0x10]
mov esi, edx
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1f70]
mov esi, edx
shr esi, 8
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1d70]
mov esi, edx
shr esi, 0x10
and esi, 0x3f
or ebx, dword [esi*4 + 0x4c1b70]
shr edx, 0x18
and edx, 0x3f
or ebx, dword [edx*4 + 0x4c1970]
xor eax, ebx
dec dword [ebp - 0xc]
jne 0x4a815d
mov edx, eax
shl edx, 0x1f
shr eax, 1
or edx, eax
mov eax, edx
mov edx, eax
xor edx, ecx
and edx, 0xaaaaaaaa
xor ecx, edx
xor eax, edx
mov edx, ecx
shl edx, 0x1f
shr ecx, 1
or edx, ecx
mov ecx, edx
mov edx, ecx
shr edx, 8
xor edx, eax
and edx, 0xff00ff
xor eax, edx
shl edx, 8
xor ecx, edx
mov edx, ecx
shr edx, 2
xor edx, eax
and edx, 0x33333333
xor eax, edx
shl edx, 2
xor ecx, edx
mov edx, eax
shr edx, 0x10
xor edx, ecx
and edx, 0xffff
xor ecx, edx
shl edx, 0x10
xor eax, edx
mov edx, eax
shr edx, 4
xor edx, ecx
and edx, 0xf0f0f0f
xor ecx, edx
shl edx, 4
xor eax, edx
mov edx, dword [ebp - 4]
mov dword [edx], eax
mov eax, dword [ebp - 4]
mov dword [eax + 4], ecx
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov esp, ebp
pop ebp
ret 4