Function at 0x40a240
Capabilities:
Encrypt data using des

Disassembly:
movzx edx, byte [ecx + 1]
push ebx
movzx ebx, byte [ecx + 5]
push ebp
push esi
movzx esi, byte [ecx]
shl esi, 8
or esi, edx
movzx edx, byte [ecx + 2]
shl esi, 8
or esi, edx
movzx edx, byte [ecx + 3]
shl esi, 8
or esi, edx
movzx edx, byte [ecx + 4]
shl edx, 8
or edx, ebx
movzx ebx, byte [ecx + 6]
movzx ecx, byte [ecx + 7]
shl edx, 8
or edx, ebx
shl edx, 8
or edx, ecx
mov ecx, esi
shr ecx, 4
xor ecx, edx
and ecx, 0xf0f0f0f
xor edx, ecx
shl ecx, 4
xor esi, ecx
mov ecx, esi
shr ecx, 0x10
xor ecx, edx
and ecx, 0xffff
xor edx, ecx
shl ecx, 0x10
xor esi, ecx
mov ecx, edx
shr ecx, 2
xor ecx, esi
and ecx, 0x33333333
xor esi, ecx
add ecx, ecx
add ecx, ecx
xor edx, ecx
mov ecx, edx
shr ecx, 8
xor ecx, esi
and ecx, 0xff00ff
xor esi, ecx
shl ecx, 8
xor ecx, edx
rol ecx, 1
mov edx, ecx
xor edx, esi
and edx, 0xaaaaaaaa
xor ecx, edx
xor edx, esi
mov esi, dword [eax]
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
mov ebp, esi
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
rol edx, 1
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor ecx, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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
mov ebp, esi
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfae8]
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor ecx, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor ecx, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
add eax, 4
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
mov esi, edx
xor ecx, ebx
ror esi, 4
xor esi, dword [eax]
add eax, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor ecx, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
add eax, 4
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
mov esi, edx
xor ecx, ebx
ror esi, 4
xor esi, dword [eax]
add eax, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor ecx, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
mov ebp, esi
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
mov esi, edx
add eax, 4
xor ecx, ebx
ror esi, 4
xor esi, dword [eax]
add eax, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor ecx, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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
mov ebp, esi
and ebx, 0x3f
shr ebp, 0x10
mov ebx, dword [ebx*4 + 0x4bfae8]
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor ecx, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
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 + 0x4bfae8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfce8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfee8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c00e8]
mov esi, dword [eax]
xor edx, ebx
xor esi, edx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x4bfbe8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bfde8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x4bffe8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x4c01e8]
mov esi, edx
xor ecx, ebx
ror esi, 4
xor esi, dword [eax + 4]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
mov eax, dword [eax*4 + 0x4bfae8]
mov ebx, esi
shr ebx, 0x10
and ebx, 0x3f
xor eax, dword [ebx*4 + 0x4bfce8]
mov ebx, esi
shr ebx, 8
and ebx, 0x3f
xor eax, dword [ebx*4 + 0x4bfee8]
and esi, 0x3f
xor eax, dword [esi*4 + 0x4c00e8]
xor eax, ecx
ror eax, 1
mov ecx, eax
xor ecx, edx
and ecx, 0xaaaaaaaa
xor eax, ecx
xor ecx, edx
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 + 2], dl
mov byte [edi + 4], al
pop esi
mov edx, ecx
mov eax, ecx
shr edx, 0x10
shr eax, 8
pop ebp
mov byte [edi + 5], dl
mov byte [edi + 6], al
mov byte [edi + 7], cl
pop ebx
ret