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

Disassembly:
sub esp, 8
mov eax, dword [ecx]
push ebx
push ebp
push esi
mov dword [esp + 0x10], ecx
mov ecx, dword [ecx + 4]
mov esi, eax
push edi
shr esi, 4
mov edi, ecx
and esi, 0xf0f0f0f
and edi, 0xf0f0f0f
mov dword [esp + 0x10], 8
xor esi, edi
xor ecx, esi
shl esi, 4
xor eax, esi
mov edi, ecx
mov esi, eax
and edi, 0xffff
shr esi, 0x10
xor esi, edi
xor ecx, esi
shl esi, 0x10
xor eax, esi
mov esi, ecx
shr esi, 2
mov edi, eax
and esi, 0x33333333
and edi, 0x33333333
xor esi, edi
xor eax, esi
shl esi, 2
xor ecx, esi
mov edi, eax
mov esi, ecx
and edi, 0xff00ff
shr esi, 8
and esi, 0xff00ff
xor esi, edi
xor eax, esi
shl esi, 8
xor ecx, esi
mov esi, ecx
add ecx, ecx
shr esi, 0x1f
or esi, ecx
mov ecx, esi
xor ecx, eax
and ecx, 0xaaaaaaaa
xor eax, ecx
xor esi, ecx
mov edi, eax
add eax, eax
shr edi, 0x1f
or edi, eax
mov eax, esi
mov ecx, esi
shl eax, 0x1c
shr ecx, 4
or eax, ecx
mov ecx, dword [edx]
xor eax, ecx
add edx, 4
mov ecx, eax
mov ebp, eax
shr ecx, 0x18
shr ebp, 0x10
and ecx, 0x3f
and ebp, 0x3f
add edx, 4
mov ebx, dword [ecx*4 + 0x14112ec]
mov ecx, dword [ebp*4 + 0x14114ec]
or ebx, ecx
mov ecx, eax
shr ecx, 8
and ecx, 0x3f
and eax, 0x3f
add edx, 4
mov ebp, dword [ecx*4 + 0x14116ec]
mov ecx, dword [eax*4 + 0x14118ec]
mov eax, dword [edx - 8]
or ebx, ebp
xor eax, esi
or ebx, ecx
mov ecx, eax
mov ebp, eax
shr ecx, 0x18
and ecx, 0x3f
add edx, 4
shr ebp, 0x10
mov ecx, dword [ecx*4 + 0x14113ec]
and ebp, 0x3f
or ecx, dword [ebp*4 + 0x14115ec]
mov ebp, eax
shr ebp, 8
and ebp, 0x3f
and eax, 0x3f
or ecx, dword [ebp*4 + 0x14117ec]
mov ebp, dword [eax*4 + 0x14119ec]
or ecx, ebp
or ecx, ebx
mov ebx, dword [edx - 8]
xor edi, ecx
mov eax, edi
mov ecx, edi
shl eax, 0x1c
shr ecx, 4
or eax, ecx
xor eax, ebx
mov ebx, eax
mov ecx, eax
shr ebx, 0x10
and ebx, 0x3f
shr ecx, 0x18
mov ebp, dword [ebx*4 + 0x14114ec]
mov ebx, eax
and ecx, 0x3f
and eax, 0x3f
shr ebx, 8
mov ecx, dword [ecx*4 + 0x14112ec]
and ebx, 0x3f
or ecx, ebp
mov ebp, dword [ebx*4 + 0x14116ec]
mov ebx, dword [eax*4 + 0x14118ec]
mov eax, dword [edx - 4]
or ecx, ebp
xor eax, edi
or ecx, ebx
mov ebx, eax
mov ebp, eax
shr ebx, 0x18
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x14113ec]
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x14115ec]
mov ebp, eax
and eax, 0x3f
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x14117ec]
mov ebp, dword [eax*4 + 0x14119ec]
mov eax, dword [esp + 0x10]
or ebx, ebp
or ebx, ecx
xor esi, ebx
dec eax
mov dword [esp + 0x10], eax
jne 0x14034b2
mov eax, esi
shl eax, 0x1f
shr esi, 1
or eax, esi
mov ecx, eax
xor ecx, edi
and ecx, 0xaaaaaaaa
xor edi, ecx
xor eax, ecx
mov ecx, edi
mov esi, eax
shl ecx, 0x1f
shr edi, 1
or ecx, edi
and esi, 0xff00ff
mov edx, ecx
pop edi
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, edx
shl esi, 4
xor esi, eax
mov eax, dword [esp + 0x10]
xor edx, ecx
mov dword [eax], esi
pop esi
pop ebp
mov dword [eax + 4], edx
pop ebx
add esp, 8
ret