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

Disassembly:
push ecx
xor ecx, ecx
push ebx
push ebp
push esi
mov esi, eax
mov ch, byte [esi]
movzx eax, byte [esi + 2]
movzx ebx, byte [esi + 6]
mov cl, byte [esi + 1]
add edx, 4
mov dword [esp + 0xc], 8
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 3]
shl ecx, 8
or ecx, eax
xor eax, eax
mov ah, byte [esi + 4]
mov al, byte [esi + 5]
movzx esi, byte [esi + 7]
shl eax, 8
or eax, ebx
shl eax, 8
or esi, eax
mov eax, ecx
shr eax, 4
xor eax, esi
and eax, 0xf0f0f0f
xor esi, eax
shl eax, 4
xor ecx, eax
mov eax, ecx
shr eax, 0x10
xor eax, esi
and eax, 0xffff
xor esi, eax
shl eax, 0x10
xor ecx, eax
mov eax, esi
shr eax, 2
xor eax, ecx
and eax, 0x33333333
xor ecx, eax
add eax, eax
add eax, eax
xor esi, eax
mov eax, esi
shr eax, 8
xor eax, ecx
and eax, 0xff00ff
xor ecx, eax
shl eax, 8
xor eax, esi
rol eax, 1
mov esi, eax
xor esi, ecx
and esi, 0xaaaaaaaa
xor eax, esi
xor esi, ecx
rol esi, 1
mov ecx, dword [edx]
xor ecx, eax
mov ebx, ecx
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x453f20]
mov ebp, ecx
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x454120]
mov ebp, ecx
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x454320]
and ecx, 0x3f
xor ebx, dword [ecx*4 + 0x454520]
add edx, 4
xor esi, ebx
mov ecx, eax
ror ecx, 4
xor ecx, dword [edx]
add edx, 4
mov ebx, ecx
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x453e20]
mov ebp, ecx
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x454020]
mov ebp, ecx
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x454220]
and ecx, 0x3f
xor ebx, dword [ecx*4 + 0x454420]
mov ecx, dword [edx]
xor esi, ebx
xor ecx, esi
mov ebx, ecx
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x453f20]
mov ebp, ecx
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x454120]
mov ebp, ecx
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x454320]
and ecx, 0x3f
xor ebx, dword [ecx*4 + 0x454520]
add edx, 4
xor eax, ebx
mov ecx, esi
ror ecx, 4
xor ecx, dword [edx]
add edx, 4
mov ebx, ecx
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x453e20]
mov ebp, ecx
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x454020]
mov ebp, ecx
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x454220]
and ecx, 0x3f
xor ebx, dword [ecx*4 + 0x454420]
xor eax, ebx
sub dword [esp + 0xc], 1
jne 0x4247a3
ror eax, 1
mov ecx, eax
xor ecx, esi
and ecx, 0xaaaaaaaa
xor eax, ecx
xor ecx, esi
ror ecx, 1
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
add edx, edx
add edx, edx
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, eax
shr edx, 0x18
mov byte [edi], dl
mov edx, eax
shr edx, 0x10
mov byte [edi + 1], dl
mov edx, eax
mov byte [edi + 3], al
shr edx, 8
mov eax, ecx
shr eax, 0x18
mov byte [edi + 4], al
mov byte [edi + 2], dl
mov eax, ecx
pop esi
mov edx, ecx
shr eax, 8
shr edx, 0x10
pop ebp
mov byte [edi + 6], al
mov byte [edi + 5], dl
mov byte [edi + 7], cl
xor eax, eax
pop ebx
pop ecx
ret