Function at 0x40e920
Capabilities:
Encrypt data using des
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov edx, dword [ebp + 0x10]
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov ecx, edi
shr ecx, 4
xor ecx, edx
mov ebx, dword [ebp + 0x14]
and ecx, 0xf0f0f0f
mov eax, ecx
xor edx, ecx
shl eax, 4
xor edi, eax
mov esi, dword [ebx]
mov eax, edi
shr eax, 0x10
xor eax, edx
movzx ecx, ax
xor edx, ecx
mov eax, ecx
shl eax, 0x10
mov ecx, edx
xor edi, eax
shr ecx, 2
xor ecx, edi
and ecx, 0x33333333
xor edi, ecx
lea eax, [ecx*4]
xor edx, eax
mov ecx, edx
shr ecx, 8
xor ecx, edi
and ecx, 0xff00ff
mov eax, ecx
xor edi, ecx
shl eax, 8
xor edx, eax
mov eax, edi
shr eax, 1
xor eax, edx
and eax, 0x55555555
mov ecx, eax
add eax, eax
xor ecx, edx
xor eax, edi
mov edx, dword [ebx + 0x40]
rol ecx, 1
rol eax, 1
xor edx, ecx
mov dword [ebp + 0xc], eax
xor esi, ecx
mov dword [ebp + 0x10], ecx
mov eax, edx
shr eax, 0x10
mov ecx, edx
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
and esi, 0x3f
or ecx, dword [esi*4 + 0x47ffd0]
mov eax, dword [ebp + 0xc]
xor eax, ecx
mov edx, dword [ebx + 0x44]
xor edx, eax
mov esi, dword [ebx + 4]
xor esi, eax
mov dword [ebp + 0xc], eax
mov ecx, edx
ror esi, 4
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
mov edi, dword [ebp + 0x10]
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov edx, dword [ebx + 0x48]
xor edi, ecx
mov esi, dword [ebx + 8]
xor edx, edi
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, edi
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebx + 0x4c]
xor eax, ecx
mov esi, dword [ebx + 0xc]
xor edx, eax
xor esi, eax
mov dword [ebp + 0xc], eax
ror esi, 4
mov ecx, edx
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov edx, dword [ebx + 0x50]
xor edi, ecx
mov esi, dword [ebx + 0x10]
xor edx, edi
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, edi
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebx + 0x54]
xor eax, ecx
mov esi, dword [ebx + 0x14]
xor edx, eax
xor esi, eax
mov dword [ebp + 0xc], eax
mov ecx, edx
ror esi, 4
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
and edx, 0x3f
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov edx, dword [ebx + 0x58]
xor edi, ecx
mov esi, dword [ebx + 0x18]
xor edx, edi
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, edi
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebx + 0x5c]
xor eax, ecx
mov esi, dword [ebx + 0x1c]
xor edx, eax
xor esi, eax
mov dword [ebp + 0xc], eax
mov ecx, edx
ror esi, 4
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
and edx, 0x3f
and esi, 0x3f
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov edx, dword [ebx + 0x60]
xor edi, ecx
mov esi, dword [ebx + 0x20]
xor edx, edi
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, edi
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov eax, dword [ebp + 0xc]
mov edx, dword [ebx + 0x64]
xor eax, ecx
mov esi, dword [ebx + 0x24]
xor edx, eax
xor esi, eax
mov dword [ebp + 0xc], eax
mov ecx, edx
ror esi, 4
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov esi, dword [ebx + 0x28]
xor edi, ecx
mov edx, dword [ebx + 0x68]
xor esi, edi
xor edx, edi
ror esi, 4
mov ecx, edx
mov eax, edx
shr eax, 0x10
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov eax, dword [ebp + 0xc]
xor eax, ecx
mov edx, dword [ebx + 0x6c]
mov esi, dword [ebx + 0x2c]
xor edx, eax
xor esi, eax
mov dword [ebp + 0xc], eax
mov ecx, edx
ror esi, 4
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov edx, dword [ebx + 0x70]
xor edi, ecx
mov esi, dword [ebx + 0x30]
xor edx, edi
mov ecx, edx
mov eax, edx
shr ecx, 0x18
xor esi, edi
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
and edx, 0x3f
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov eax, dword [ebp + 0xc]
xor eax, ecx
mov edx, dword [ebx + 0x74]
xor edx, eax
mov esi, dword [ebx + 0x34]
xor esi, eax
mov dword [ebp + 0xc], eax
mov ecx, edx
ror esi, 4
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov edx, dword [ebx + 0x78]
xor edi, ecx
mov esi, dword [ebx + 0x38]
xor edx, edi
mov ecx, edx
mov dword [ebp + 0x10], edi
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
xor esi, edi
ror esi, 4
mov ecx, dword [ecx*4 + 0x47fad0]
or ecx, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and edx, 0x3f
and eax, 0x3f
and esi, 0x3f
or ecx, dword [eax*4 + 0x47fdd0]
or ecx, dword [edx*4 + 0x4800d0]
or ecx, dword [esi*4 + 0x47ffd0]
mov edx, dword [ebx + 0x7c]
mov eax, dword [ebp + 0xc]
xor eax, ecx
mov esi, dword [ebx + 0x3c]
xor edx, eax
mov ebx, eax
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, ebx
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
ror ebx, 1
mov edi, dword [ecx*4 + 0x47fad0]
or edi, dword [eax*4 + 0x47fcd0]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or edi, dword [eax*4 + 0x47fed0]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or edi, dword [eax*4 + 0x47f9d0]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or edi, dword [eax*4 + 0x47fbd0]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or edi, dword [eax*4 + 0x47fdd0]
or edi, dword [edx*4 + 0x4800d0]
or edi, dword [esi*4 + 0x47ffd0]
xor edi, dword [ebp + 0x10]
ror edi, 1
mov ecx, edi
shr ecx, 1
xor ecx, ebx
and ecx, 0x55555555
xor ebx, ecx
lea eax, [ecx + ecx]
mov ecx, ebx
xor edi, eax
shr ecx, 8
xor ecx, edi
and ecx, 0xff00ff
mov eax, ecx
xor edi, ecx
shl eax, 8
xor ebx, eax
mov ecx, ebx
shr ecx, 2
xor ecx, edi
and ecx, 0x33333333
xor edi, ecx
lea eax, [ecx*4]
xor ebx, eax
mov eax, edi
shr eax, 0x10
xor eax, ebx
movzx ecx, ax
mov eax, ecx
xor ebx, ecx
shl eax, 0x10
xor edi, eax
mov edx, edi
shr edx, 4
xor edx, ebx
and edx, 0xf0f0f0f
mov eax, edx
mov ecx, dword [ebp + 8]
shl eax, 4
xor eax, edi
xor edx, ebx
pop edi
pop esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
pop ebx
pop ebp
ret