Function at 0x40bcd0
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 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
xor edi, ecx
mov eax, ecx
shl eax, 8
mov ecx, edi
xor edx, eax
shr ecx, 1
xor ecx, edx
and ecx, 0x55555555
xor edx, ecx
add ecx, ecx
mov esi, edx
xor ecx, edi
shr esi, 0x1f
mov edi, ecx
ror edi, 0x1f
lea eax, [edx + edx]
mov edx, dword [ebx + 0x40]
or esi, eax
mov eax, dword [ebx]
xor eax, esi
mov dword [ebp + 0xc], esi
xor edx, esi
mov esi, eax
shr eax, 4
mov ecx, edx
shr ecx, 0x18
shl esi, 0x1c
and ecx, 0x3f
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and eax, 0x3f
and esi, 0x3f
and edx, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov eax, dword [ebx + 4]
xor edi, ecx
xor eax, edi
mov edx, dword [ebx + 0x44]
mov esi, eax
xor edx, edi
shr eax, 4
mov ecx, edx
shr ecx, 0x18
and ecx, 0x3f
shl esi, 0x1c
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 8]
xor esi, ecx
mov edx, dword [ebx + 0x48]
xor eax, esi
xor edx, esi
mov dword [ebp + 0xc], esi
mov esi, eax
mov ecx, edx
shr eax, 4
shr ecx, 0x18
and ecx, 0x3f
shl esi, 0x1c
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
and esi, 0x3f
or ecx, dword [esi*4 + 0x473a78]
mov eax, dword [ebx + 0xc]
xor edi, ecx
xor eax, edi
mov edx, dword [ebx + 0x4c]
mov esi, eax
xor edx, edi
shr eax, 4
mov ecx, edx
shr ecx, 0x18
and ecx, 0x3f
shl esi, 0x1c
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x10]
xor esi, ecx
mov edx, dword [ebx + 0x50]
xor eax, esi
xor edx, esi
mov dword [ebp + 0xc], esi
mov esi, eax
mov ecx, edx
shr eax, 4
shr ecx, 0x18
and ecx, 0x3f
shl esi, 0x1c
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov eax, dword [ebx + 0x14]
xor edi, ecx
mov edx, dword [ebx + 0x54]
xor eax, edi
mov esi, eax
xor edx, edi
shr eax, 4
mov ecx, edx
shr ecx, 0x18
and ecx, 0x3f
shl esi, 0x1c
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x18]
xor esi, ecx
mov edx, dword [ebx + 0x58]
xor eax, esi
xor edx, esi
mov dword [ebp + 0xc], esi
mov esi, eax
mov ecx, edx
shr eax, 4
shr ecx, 0x18
shl esi, 0x1c
and ecx, 0x3f
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov eax, dword [ebx + 0x1c]
xor edi, ecx
mov edx, dword [ebx + 0x5c]
xor eax, edi
mov esi, eax
xor edx, edi
shl esi, 0x1c
shr eax, 4
or esi, eax
mov ecx, edx
mov eax, edx
shr eax, 0x10
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x20]
xor esi, ecx
mov edx, dword [ebx + 0x60]
xor eax, esi
xor edx, esi
mov dword [ebp + 0xc], esi
mov esi, eax
mov ecx, edx
shr eax, 4
shr ecx, 0x18
and ecx, 0x3f
shl esi, 0x1c
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov eax, dword [ebx + 0x24]
xor edi, ecx
mov edx, dword [ebx + 0x64]
xor eax, edi
mov esi, eax
xor edx, edi
shr eax, 4
mov ecx, edx
shl esi, 0x1c
or esi, eax
shr ecx, 0x18
mov eax, edx
and ecx, 0x3f
shr eax, 0x10
mov ecx, dword [ecx*4 + 0x473578]
and eax, 0x3f
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x28]
xor esi, ecx
mov edx, dword [ebx + 0x68]
xor eax, esi
xor edx, esi
mov dword [ebp + 0xc], esi
mov esi, eax
mov ecx, edx
shr eax, 4
shr ecx, 0x18
and ecx, 0x3f
shl esi, 0x1c
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov eax, dword [ebx + 0x2c]
xor edi, ecx
mov edx, dword [ebx + 0x6c]
xor eax, edi
mov esi, eax
xor edx, edi
shr eax, 4
mov ecx, edx
shl esi, 0x1c
or esi, eax
shr ecx, 0x18
and ecx, 0x3f
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and eax, 0x3f
and edx, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x30]
xor esi, ecx
xor eax, esi
mov edx, dword [ebx + 0x70]
xor edx, esi
mov dword [ebp + 0xc], esi
mov esi, eax
mov ecx, edx
shr eax, 4
shr ecx, 0x18
and ecx, 0x3f
shl esi, 0x1c
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov eax, dword [ebx + 0x34]
xor edi, ecx
mov edx, dword [ebx + 0x74]
xor eax, edi
mov esi, eax
xor edx, edi
shr eax, 4
mov ecx, edx
shl esi, 0x1c
or esi, eax
shr ecx, 0x18
and ecx, 0x3f
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
and edx, 0x3f
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x38]
xor esi, ecx
xor eax, esi
mov edx, dword [ebx + 0x78]
xor edx, esi
mov dword [ebp + 0xc], esi
mov esi, eax
mov ecx, edx
shr eax, 4
shr ecx, 0x18
and ecx, 0x3f
shl esi, 0x1c
or esi, eax
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov eax, dword [ebx + 0x3c]
xor edi, ecx
mov edx, dword [ebx + 0x7c]
xor eax, edi
mov esi, eax
mov dword [ebp + 0x10], edi
shr eax, 4
xor edx, edi
shl esi, 0x1c
mov ecx, edx
or esi, eax
shr ecx, 0x18
and ecx, 0x3f
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x473578]
or ecx, dword [eax*4 + 0x473778]
mov eax, edx
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x473978]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x473478]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x473678]
and edx, 0x3f
mov eax, esi
shl edi, 0x1f
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x473878]
or ecx, dword [edx*4 + 0x473b78]
or ecx, dword [esi*4 + 0x473a78]
mov eax, dword [ebp + 0xc]
xor eax, ecx
mov ecx, dword [ebp + 0x10]
mov esi, eax
shr ecx, 1
or edi, ecx
shr eax, 1
shl esi, 0x1f
or esi, eax
mov ecx, esi
shr ecx, 1
xor ecx, edi
and ecx, 0x55555555
xor edi, ecx
lea eax, [ecx + ecx]
mov ecx, edi
xor esi, eax
shr ecx, 8
xor ecx, esi
and ecx, 0xff00ff
mov eax, ecx
xor esi, ecx
shl eax, 8
xor edi, eax
mov ecx, edi
shr ecx, 2
xor ecx, esi
and ecx, 0x33333333
xor esi, ecx
lea eax, [ecx*4]
xor edi, eax
mov eax, esi
shr eax, 0x10
xor eax, edi
movzx ecx, ax
mov eax, ecx
xor edi, ecx
mov ecx, dword [ebp + 8]
shl eax, 0x10
xor esi, eax
mov edx, esi
shr edx, 4
xor edx, edi
and edx, 0xf0f0f0f
mov eax, edx
shl eax, 4
xor eax, esi
xor edx, edi
pop edi
pop esi
mov dword [ecx], eax
mov dword [ecx + 4], edx
pop ebx
pop ebp
ret