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

Disassembly:
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x18]
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x14]
mov ch, byte [edi]
mov dl, byte [edi + 2]
mov cl, byte [edi + 1]
add eax, 4
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [edi + 3]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dh, byte [edi + 4]
mov esi, ecx
mov dl, byte [edi + 5]
xor ecx, ecx
mov cl, byte [edi + 6]
shl edx, 8
or edx, ecx
xor ecx, ecx
mov cl, byte [edi + 7]
shl edx, 8
or edx, ecx
mov ecx, esi
shr ecx, 4
mov edi, edx
and ecx, 0xf0f0f0f
and edi, 0xf0f0f0f
xor ecx, edi
xor edx, ecx
shl ecx, 4
xor esi, ecx
mov edi, edx
mov ecx, esi
and edi, 0xffff
shr ecx, 0x10
xor ecx, edi
xor edx, ecx
shl ecx, 0x10
xor esi, ecx
mov ecx, edx
shr ecx, 2
mov edi, esi
and ecx, 0x33333333
and edi, 0x33333333
xor ecx, edi
xor esi, ecx
shl ecx, 2
xor edx, ecx
mov edi, esi
mov ecx, edx
and edi, 0xff00ff
shr ecx, 8
and ecx, 0xff00ff
xor ecx, edi
mov edi, 8
xor esi, ecx
shl ecx, 8
xor edx, ecx
mov ecx, edx
add edx, edx
shr ecx, 0x1f
or ecx, edx
mov edx, ecx
xor edx, esi
and edx, 0xaaaaaaaa
xor esi, edx
xor ecx, edx
mov edx, esi
add esi, esi
shr edx, 0x1f
or edx, esi
mov esi, dword [eax]
add eax, 4
xor esi, ecx
add eax, 4
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
add eax, 4
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d134]
and ebp, 0x3f
add eax, 4
xor ebx, dword [ebp*4 + 0x48d334]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x48d534]
mov ebp, dword [esi*4 + 0x48d734]
mov esi, ecx
xor ebx, ebp
mov ebp, dword [eax - 0xc]
xor edx, ebx
mov ebx, ecx
shl esi, 0x1c
shr ebx, 4
or esi, ebx
xor esi, ebp
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d034]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d234]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x48d434]
mov ebp, dword [esi*4 + 0x48d634]
mov esi, dword [eax - 8]
xor ebx, ebp
xor edx, ebx
xor esi, edx
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d134]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d334]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x48d534]
mov ebp, dword [esi*4 + 0x48d734]
mov esi, edx
xor ebx, ebp
mov ebp, dword [eax - 4]
xor ecx, ebx
mov ebx, edx
shl esi, 0x1c
shr ebx, 4
or esi, ebx
xor esi, ebp
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d034]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d234]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d434]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x48d634]
xor ecx, ebx
dec edi
jne 0x466d77
mov edi, 8
mov esi, dword [eax]
add eax, 4
xor esi, edx
add eax, 4
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
add eax, 4
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d134]
and ebp, 0x3f
add eax, 4
xor ebx, dword [ebp*4 + 0x48d334]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x48d534]
mov ebp, dword [esi*4 + 0x48d734]
mov esi, edx
xor ebx, ebp
mov ebp, dword [eax - 0xc]
xor ecx, ebx
mov ebx, edx
shl esi, 0x1c
shr ebx, 4
or esi, ebx
xor esi, ebp
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d034]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d234]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x48d434]
mov ebp, dword [esi*4 + 0x48d634]
mov esi, dword [eax - 8]
xor ebx, ebp
xor ecx, ebx
xor esi, ecx
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d134]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d334]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x48d534]
mov ebp, dword [esi*4 + 0x48d734]
mov esi, ecx
xor ebx, ebp
mov ebp, dword [eax - 4]
xor edx, ebx
mov ebx, ecx
shl esi, 0x1c
shr ebx, 4
or esi, ebx
xor esi, ebp
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d034]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d234]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d434]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x48d634]
xor edx, ebx
dec edi
jne 0x466ea4
mov edi, 8
mov esi, dword [eax]
add eax, 4
xor esi, ecx
add eax, 4
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
add eax, 4
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d134]
and ebp, 0x3f
add eax, 4
xor ebx, dword [ebp*4 + 0x48d334]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x48d534]
mov ebp, dword [esi*4 + 0x48d734]
mov esi, ecx
xor ebx, ebp
mov ebp, dword [eax - 0xc]
xor edx, ebx
mov ebx, ecx
shl esi, 0x1c
shr ebx, 4
or esi, ebx
xor esi, ebp
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d034]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d234]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x48d434]
mov ebp, dword [esi*4 + 0x48d634]
mov esi, dword [eax - 8]
xor ebx, ebp
xor edx, ebx
xor esi, edx
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d134]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d334]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor ebx, dword [ebp*4 + 0x48d534]
mov ebp, dword [esi*4 + 0x48d734]
mov esi, edx
xor ebx, ebp
mov ebp, dword [eax - 4]
xor ecx, ebx
mov ebx, edx
shl esi, 0x1c
shr ebx, 4
or esi, ebx
xor esi, ebp
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x48d034]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d234]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x48d434]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x48d634]
xor ecx, ebx
dec edi
jne 0x466fd1
mov eax, ecx
pop edi
shl eax, 0x1f
shr ecx, 1
or eax, ecx
mov ecx, eax
xor ecx, edx
and ecx, 0xaaaaaaaa
xor edx, ecx
xor eax, ecx
mov ecx, edx
mov esi, eax
shl ecx, 0x1f
shr edx, 1
or ecx, edx
and esi, 0xff00ff
mov edx, ecx
shr edx, 8
and edx, 0xff00ff
xor edx, esi
xor eax, edx
shl edx, 8
xor ecx, edx
mov esi, eax
mov edx, ecx
and esi, 0x33333333
shr edx, 2
and edx, 0x33333333
xor edx, esi
xor eax, edx
shl edx, 2
xor ecx, edx
mov edx, eax
mov esi, ecx
shr edx, 0x10
and esi, 0xffff
xor edx, esi
xor ecx, edx
shl edx, 0x10
xor eax, edx
mov esi, ecx
mov edx, eax
and esi, 0xf0f0f0f
shr edx, 4
and edx, 0xf0f0f0f
xor edx, esi
mov esi, dword [esp + 0x18]
xor ecx, edx
shl edx, 4
xor eax, edx
mov byte [esi + 7], cl
mov edx, eax
mov byte [esi + 3], al
shr edx, 0x18
mov byte [esi], dl
mov edx, eax
shr edx, 0x10
mov byte [esi + 1], dl
mov edx, eax
mov eax, ecx
shr edx, 8
shr eax, 0x18
mov byte [esi + 2], dl
mov byte [esi + 4], al
mov edx, ecx
mov eax, ecx
shr edx, 0x10
shr eax, 8
mov byte [esi + 5], dl
mov byte [esi + 6], al
pop esi
pop ebp
xor eax, eax
pop ebx
ret