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

Disassembly:
push ecx
movzx edx, byte [ecx]
shl edx, 8
push ebx
movzx ebx, byte [ecx + 5]
push ebp
push esi
movzx esi, byte [ecx + 1]
or edx, esi
movzx esi, byte [ecx + 2]
shl edx, 8
or edx, esi
movzx esi, byte [ecx + 3]
shl edx, 8
or edx, esi
movzx esi, byte [ecx + 4]
shl esi, 8
or esi, ebx
movzx ebx, byte [ecx + 6]
movzx ecx, byte [ecx + 7]
shl esi, 8
or esi, ebx
shl esi, 8
or esi, ecx
mov ecx, edx
shr ecx, 4
xor ecx, esi
and ecx, 0xf0f0f0f
xor esi, ecx
shl ecx, 4
xor edx, ecx
mov ecx, edx
shr ecx, 0x10
xor ecx, esi
and ecx, 0xffff
xor esi, ecx
shl ecx, 0x10
xor edx, ecx
mov ecx, esi
shr ecx, 2
xor ecx, edx
and ecx, 0x33333333
xor edx, ecx
add ecx, ecx
add ecx, ecx
xor esi, ecx
mov ecx, esi
shr ecx, 8
xor ecx, edx
and ecx, 0xff00ff
xor edx, ecx
shl ecx, 8
xor ecx, esi
rol ecx, 1
mov esi, ecx
xor esi, edx
and esi, 0xaaaaaaaa
xor ecx, esi
xor esi, edx
rol esi, 1
mov edx, esi
mov dword [esp + 0xc], 8
mov edi, edi
mov esi, dword [eax]
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563210]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563410]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563610]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563810]
add eax, 4
xor edx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [eax]
add eax, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563110]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563310]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563510]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563710]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563210]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563410]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563610]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563810]
add eax, 4
xor ecx, ebx
mov esi, edx
ror esi, 4
xor esi, dword [eax]
add eax, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563110]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563310]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563510]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563710]
xor ecx, ebx
sub dword [esp + 0xc], 1
jne 0x424170
mov dword [esp + 0xc], 8
lea esp, [esp]
mov esi, dword [eax]
xor esi, edx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563210]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563410]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563610]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563810]
add eax, 4
xor ecx, ebx
mov esi, edx
ror esi, 4
xor esi, dword [eax]
add eax, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563110]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563310]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563510]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563710]
mov esi, dword [eax]
xor ecx, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563210]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563410]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563610]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563810]
add eax, 4
xor edx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [eax]
add eax, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563110]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563310]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563510]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563710]
xor edx, ebx
sub dword [esp + 0xc], 1
jne 0x424290
mov dword [esp + 0xc], 8
lea esp, [esp]
mov esi, dword [eax]
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563210]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563410]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563610]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563810]
add eax, 4
xor edx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [eax]
add eax, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563110]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563310]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563510]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563710]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563210]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563410]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563610]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563810]
add eax, 4
xor ecx, ebx
mov esi, edx
ror esi, 4
xor esi, dword [eax]
add eax, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x563110]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563310]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x563510]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x563710]
xor ecx, ebx
sub dword [esp + 0xc], 1
jne 0x4243b0
ror ecx, 1
mov eax, ecx
xor eax, edx
and eax, 0xaaaaaaaa
xor ecx, eax
xor eax, edx
ror eax, 1
mov edx, eax
shr edx, 8
xor edx, ecx
and edx, 0xff00ff
xor ecx, edx
shl edx, 8
xor eax, edx
mov edx, eax
shr edx, 2
xor edx, ecx
and edx, 0x33333333
xor ecx, edx
add edx, edx
add edx, edx
xor eax, edx
mov edx, ecx
shr edx, 0x10
xor edx, eax
and edx, 0xffff
xor eax, edx
shl edx, 0x10
xor ecx, edx
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, 0x18
mov byte [edi], dl
mov edx, ecx
shr edx, 0x10
mov byte [edi + 1], dl
mov edx, ecx
mov byte [edi + 3], cl
shr edx, 8
mov ecx, eax
shr ecx, 0x18
mov byte [edi + 2], dl
mov byte [edi + 4], cl
mov edx, eax
mov ecx, eax
pop esi
shr edx, 0x10
shr ecx, 8
pop ebp
mov byte [edi + 7], al
mov byte [edi + 5], dl
mov byte [edi + 6], cl
xor eax, eax
pop ebx
pop ecx
ret