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

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
add ebx, 0x78
xor edx, edx
mov dl, byte [eax]
shl edx, 0x18
xor ecx, ecx
mov cl, byte [eax + 1]
shl ecx, 0x10
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 2]
shl ecx, 8
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 3]
or edx, ecx
xor ecx, ecx
mov cl, byte [eax + 4]
shl ecx, 0x18
movzx esi, byte [eax + 5]
shl esi, 0x10
or ecx, esi
movzx esi, byte [eax + 6]
shl esi, 8
or ecx, esi
movzx eax, byte [eax + 7]
or ecx, eax
mov eax, edx
shr eax, 4
xor eax, ecx
and eax, 0xf0f0f0f
xor ecx, eax
shl eax, 4
xor edx, eax
mov eax, edx
shr eax, 0x10
xor eax, ecx
and eax, 0xffff
xor ecx, eax
shl eax, 0x10
xor edx, eax
mov eax, ecx
shr eax, 2
xor eax, edx
and eax, 0x33333333
xor edx, eax
shl eax, 2
xor ecx, eax
mov eax, ecx
shr eax, 8
xor eax, edx
and eax, 0xff00ff
xor edx, eax
shl eax, 8
xor ecx, eax
mov eax, edx
shr eax, 1
xor eax, ecx
and eax, 0x55555555
xor ecx, eax
add eax, eax
xor edx, eax
mov eax, edx
add eax, eax
shr edx, 0x1f
or eax, edx
mov edx, eax
mov eax, ecx
add eax, eax
shr ecx, 0x1f
or eax, ecx
mov ecx, eax
xor eax, eax
mov dword [ebp - 4], eax
mov eax, dword [ebx]
xor eax, ecx
mov esi, eax
shr esi, 0x18
and esi, 0x3f
xor edx, dword [esi*4 + 0x47aa88]
mov esi, eax
shr esi, 0x10
and esi, 0x3f
xor edx, dword [esi*4 + 0x47ac88]
mov esi, eax
shr esi, 8
and esi, 0x3f
xor edx, dword [esi*4 + 0x47ae88]
and eax, 0x3f
xor edx, dword [eax*4 + 0x47b088]
mov eax, ecx
shr eax, 4
mov esi, ecx
shl esi, 0x1c
or eax, esi
xor eax, dword [ebx + 4]
mov esi, eax
shr esi, 0x18
and esi, 0x3f
xor edx, dword [esi*4 + 0x47a988]
mov esi, eax
shr esi, 0x10
and esi, 0x3f
xor edx, dword [esi*4 + 0x47ab88]
mov esi, eax
shr esi, 8
and esi, 0x3f
xor edx, dword [esi*4 + 0x47ad88]
and eax, 0x3f
xor edx, dword [eax*4 + 0x47af88]
mov eax, ecx
mov ecx, edx
mov edx, eax
inc dword [ebp - 4]
sub ebx, 8
cmp dword [ebp - 4], 0x10
jl 0x45c632
mov eax, ecx
shr eax, 1
shl ecx, 0x1f
or eax, ecx
mov ecx, eax
mov eax, edx
shr eax, 1
shl edx, 0x1f
or eax, edx
mov edx, eax
mov eax, ecx
shr eax, 1
xor eax, edx
and eax, 0x55555555
xor edx, eax
add eax, eax
xor ecx, eax
mov eax, edx
shr eax, 8
xor eax, ecx
and eax, 0xff00ff
xor ecx, eax
shl eax, 8
xor edx, eax
mov eax, edx
shr eax, 2
xor eax, ecx
and eax, 0x33333333
xor ecx, eax
shl eax, 2
xor edx, eax
mov eax, ecx
shr eax, 0x10
xor eax, edx
and eax, 0xffff
xor edx, eax
shl eax, 0x10
xor ecx, eax
mov eax, ecx
shr eax, 4
xor eax, edx
and eax, 0xf0f0f0f
xor edx, eax
shl eax, 4
xor ecx, eax
mov eax, ecx
shr eax, 0x18
and al, 0xff
mov ebx, dword [ebp + 0x10]
mov byte [ebx], al
mov eax, ecx
shr eax, 0x10
and al, 0xff
mov ebx, dword [ebp + 0x10]
mov byte [ebx + 1], al
mov eax, ecx
shr eax, 8
and al, 0xff
mov ebx, dword [ebp + 0x10]
mov byte [ebx + 2], al
and cl, 0xff
mov eax, dword [ebp + 0x10]
mov byte [eax + 3], cl
mov ecx, edx
shr ecx, 0x18
and cl, 0xff
mov eax, dword [ebp + 0x10]
mov byte [eax + 4], cl
mov ecx, edx
shr ecx, 0x10
and cl, 0xff
mov eax, dword [ebp + 0x10]
mov byte [eax + 5], cl
mov ecx, edx
shr ecx, 8
and cl, 0xff
mov eax, dword [ebp + 0x10]
mov byte [eax + 6], cl
and dl, 0xff
mov ecx, dword [ebp + 0x10]
mov byte [ecx + 7], dl
pop esi
pop ebx
pop ecx
pop ebp
ret