Function at 0x490408
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov dword [ebp - 8], ecx
mov ebx, edx
push edi
mov edi, dword [ebp + 8]
mov esi, ebx
shr esi, 4
xor esi, edi
and esi, 0xf0f0f0f
mov eax, esi
xor edi, esi
shl eax, 4
xor ebx, eax
mov ecx, ebx
shr ecx, 0x10
xor ecx, edi
and ecx, 0xffff
xor edi, ecx
mov eax, ecx
shl eax, 0x10
mov ecx, edi
xor ebx, eax
shr ecx, 2
xor ecx, ebx
and ecx, 0x33333333
mov eax, ecx
xor ebx, ecx
shl eax, 2
xor edi, eax
mov ecx, edi
shr ecx, 8
xor ecx, ebx
and ecx, 0xff00ff
mov eax, ecx
xor ebx, ecx
shl eax, 8
xor edi, eax
mov eax, ebx
shr eax, 1
xor eax, edi
and eax, 0x55555555
mov ecx, eax
add eax, eax
xor ecx, edi
xor eax, ebx
mov edi, dword [ebp + 0xc]
rol eax, 1
rol ecx, 1
mov dword [ebp + 8], eax
mov edx, dword [edi + 0x7c]
mov esi, dword [edi + 0x3c]
xor edx, ecx
xor esi, ecx
mov dword [ebp - 4], ecx
mov ecx, edx
ror esi, 4
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
push 0x3f
pop ebx
and eax, ebx
and ecx, ebx
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and eax, ebx
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, ebx
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, ebx
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and eax, ebx
or ecx, dword [eax*4 + 0x4d9848]
and edx, ebx
mov eax, dword [ebp + 8]
and esi, ebx
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
xor eax, ecx
mov edx, dword [edi + 0x78]
xor edx, eax
mov esi, dword [edi + 0x38]
xor esi, eax
mov dword [ebp + 8], eax
mov ecx, edx
ror esi, 4
shr ecx, 0x18
mov eax, edx
shr eax, 0x10
and ecx, ebx
and eax, ebx
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, ebx
and eax, ebx
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, ebx
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, ebx
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, ebx
and eax, ebx
mov ebx, dword [ebp - 4]
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov edx, dword [edi + 0x74]
xor ebx, ecx
mov esi, dword [edi + 0x34]
xor edx, ebx
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, ebx
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov eax, dword [ebp + 8]
mov edx, dword [edi + 0x70]
xor eax, ecx
mov dword [ebp + 8], eax
xor edx, eax
mov esi, dword [edi + 0x30]
mov ecx, edx
xor esi, eax
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov eax, edx
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov edx, dword [edi + 0x6c]
xor ebx, ecx
mov esi, dword [edi + 0x2c]
xor edx, ebx
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, ebx
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov eax, dword [ebp + 8]
mov edx, dword [edi + 0x68]
xor eax, ecx
mov esi, dword [edi + 0x28]
xor edx, eax
xor esi, eax
mov dword [ebp + 8], eax
mov ecx, edx
ror esi, 4
shr ecx, 0x18
mov eax, edx
and ecx, 0x3f
shr eax, 0x10
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
and edx, 0x3f
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov edx, dword [edi + 0x64]
xor ebx, ecx
mov esi, dword [edi + 0x24]
xor edx, ebx
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, ebx
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov eax, dword [ebp + 8]
mov edx, dword [edi + 0x60]
xor eax, ecx
mov esi, dword [edi + 0x20]
xor edx, eax
xor esi, eax
mov dword [ebp + 8], 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 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
and edx, 0x3f
mov eax, esi
and esi, 0x3f
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov edx, dword [edi + 0x5c]
xor ebx, ecx
mov esi, dword [edi + 0x1c]
xor edx, ebx
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, ebx
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov eax, dword [ebp + 8]
mov edx, dword [edi + 0x58]
xor eax, ecx
mov esi, dword [edi + 0x18]
xor edx, eax
xor esi, eax
mov dword [ebp + 8], 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 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov edx, dword [edi + 0x54]
xor ebx, ecx
mov esi, dword [edi + 0x14]
xor edx, ebx
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, ebx
and eax, 0x3f
shr ecx, 0x18
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov eax, dword [ebp + 8]
xor eax, ecx
mov edx, dword [edi + 0x50]
mov esi, dword [edi + 0x10]
xor edx, eax
xor esi, eax
mov dword [ebp + 8], 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 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov edx, dword [edi + 0x4c]
xor ebx, ecx
mov esi, dword [edi + 0xc]
xor edx, ebx
mov ecx, edx
xor esi, ebx
shr ecx, 0x18
mov eax, edx
and ecx, 0x3f
shr eax, 0x10
ror esi, 4
and eax, 0x3f
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov eax, dword [ebp + 8]
xor eax, ecx
mov edx, dword [edi + 0x48]
mov esi, dword [edi + 8]
xor edx, eax
xor esi, eax
mov dword [ebp + 8], 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 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and edx, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov edx, dword [edi + 0x44]
xor ebx, ecx
mov esi, dword [edi + 4]
xor edx, ebx
mov ecx, edx
mov eax, edx
shr eax, 0x10
xor esi, ebx
shr ecx, 0x18
and eax, 0x3f
and ecx, 0x3f
ror esi, 4
mov ecx, dword [ecx*4 + 0x4d9548]
or ecx, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, 0x3f
and edx, 0x3f
push 0x3f
or ecx, dword [eax*4 + 0x4d9648]
mov eax, esi
shr eax, 8
and esi, 0x3f
and eax, 0x3f
or ecx, dword [eax*4 + 0x4d9848]
or ecx, dword [edx*4 + 0x4d9b48]
or ecx, dword [esi*4 + 0x4d9a48]
mov edx, dword [edi + 0x40]
mov esi, dword [edi]
mov eax, dword [ebp + 8]
xor eax, ecx
xor edx, eax
xor esi, eax
ror eax, 1
mov ecx, edx
mov dword [ebp + 8], eax
mov eax, edx
shr ecx, 0x18
shr eax, 0x10
and ecx, 0x3f
and eax, 0x3f
ror esi, 4
mov edi, dword [ecx*4 + 0x4d9548]
or edi, dword [eax*4 + 0x4d9748]
mov eax, edx
shr eax, 8
pop ecx
and eax, ecx
and edx, ecx
or edi, dword [eax*4 + 0x4d9948]
mov eax, esi
shr eax, 0x18
and eax, ecx
or edi, dword [eax*4 + 0x4d9448]
mov eax, esi
shr eax, 0x10
and eax, ecx
or edi, dword [eax*4 + 0x4d9648]
mov eax, esi
and esi, ecx
shr eax, 8
and eax, ecx
or edi, dword [eax*4 + 0x4d9848]
or edi, dword [edx*4 + 0x4d9b48]
or edi, dword [esi*4 + 0x4d9a48]
mov edx, dword [ebp + 8]
xor edi, ebx
ror edi, 1
mov ecx, edi
shr ecx, 1
xor ecx, edx
and ecx, 0x55555555
xor edx, ecx
lea eax, [ecx + ecx]
mov ecx, edx
shr ecx, 8
xor edi, eax
xor ecx, edi
and ecx, 0xff00ff
mov eax, ecx
xor edi, ecx
shl eax, 8
xor edx, eax
mov ecx, edx
shr ecx, 2
xor ecx, edi
and ecx, 0x33333333
mov eax, ecx
xor edi, ecx
shl eax, 2
mov ecx, edi
xor edx, eax
shr ecx, 0x10
xor ecx, edx
and ecx, 0xffff
mov eax, ecx
shl eax, 0x10
mov esi, dword [ebp - 8]
xor edi, eax
xor edx, ecx
mov ecx, edi
shr ecx, 4
xor ecx, edx
and ecx, 0xf0f0f0f
mov eax, ecx
shl eax, 4
xor eax, edi
xor ecx, edx
pop edi
mov dword [esi], eax
mov dword [esi + 4], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret