Function at 0x10006e20
Capabilities:
Encrypt data using des

Disassembly:
push ebx
mov ebx, dword [esp + 8]
push ebp
push esi
mov esi, dword [ebx]
mov eax, dword [ebx + 4]
mov ecx, esi
mov edx, eax
shr ecx, 4
and ecx, 0xf0f0f0f
and edx, 0xf0f0f0f
xor ecx, edx
push edi
xor eax, ecx
shl ecx, 4
xor esi, ecx
mov edx, eax
mov ecx, esi
and edx, 0xffff
shr ecx, 0x10
xor ecx, edx
xor eax, ecx
shl ecx, 0x10
xor esi, ecx
mov ecx, eax
shr ecx, 2
mov edx, esi
and ecx, 0x33333333
and edx, 0x33333333
xor ecx, edx
xor esi, ecx
shl ecx, 2
xor eax, ecx
mov edx, esi
mov ecx, eax
and edx, 0xff00ff
shr ecx, 8
and ecx, 0xff00ff
xor ecx, edx
xor esi, ecx
shl ecx, 8
xor eax, ecx
mov ecx, eax
add eax, eax
shr ecx, 0x1f
or ecx, eax
mov eax, ecx
xor eax, esi
and eax, 0xaaaaaaaa
xor ecx, eax
xor esi, eax
mov edi, ecx
mov edx, ecx
shl edi, 0x1c
shr edx, 4
or edi, edx
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
xor edi, eax
mov eax, esi
shr eax, 0x1f
add esi, esi
or eax, esi
mov esi, edi
shr esi, 0x18
and esi, 0x3f
mov ebp, dword [esi*4 + 0x100508f0]
mov esi, edi
shr esi, 0x10
and esi, 0x3f
xor eax, ebp
mov ebp, dword [esi*4 + 0x10050af0]
mov esi, edi
shr esi, 8
and esi, 0x3f
xor eax, ebp
and edi, 0x3f
mov ebp, dword [esi*4 + 0x10050cf0]
xor eax, ebp
mov ebp, dword [edi*4 + 0x10050ef0]
xor eax, ebp
mov esi, dword [edx + 4]
xor esi, ecx
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor eax, edi
mov esi, eax
mov edi, eax
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 8]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0xc]
xor edi, ebp
xor esi, eax
xor ecx, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor ecx, edi
mov esi, ecx
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x10]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
xor edi, ebp
mov esi, dword [edx + 0x14]
xor eax, edi
xor esi, ecx
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor eax, edi
mov esi, eax
mov edi, eax
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x18]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x1c]
xor edi, ebp
xor esi, eax
xor ecx, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor ecx, edi
mov esi, ecx
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x20]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
and esi, 0x3f
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x24]
xor edi, ebp
xor esi, ecx
xor eax, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor eax, edi
mov esi, eax
mov edi, eax
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x28]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x2c]
xor edi, ebp
xor esi, eax
xor ecx, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor ecx, edi
mov esi, ecx
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x30]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
and esi, 0x3f
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x34]
xor edi, ebp
xor esi, ecx
xor eax, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor eax, edi
mov esi, eax
mov edi, eax
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x38]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x3c]
xor edi, ebp
xor esi, eax
xor ecx, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor ecx, edi
mov esi, ecx
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x40]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
and esi, 0x3f
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x44]
xor edi, ebp
xor esi, ecx
xor eax, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor eax, edi
mov esi, eax
mov edi, eax
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x48]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x4c]
xor edi, ebp
xor esi, eax
xor ecx, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor ecx, edi
mov esi, ecx
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x50]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
and esi, 0x3f
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x54]
xor edi, ebp
xor esi, ecx
xor eax, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor eax, edi
mov esi, eax
mov edi, eax
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x58]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x5c]
xor edi, ebp
xor esi, eax
xor ecx, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor ecx, edi
mov esi, ecx
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x60]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x64]
xor edi, ebp
xor esi, ecx
xor eax, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor eax, edi
mov esi, eax
mov edi, eax
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x68]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x6c]
xor edi, ebp
xor esi, eax
xor ecx, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor ecx, edi
mov esi, ecx
mov edi, ecx
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x70]
xor esi, edi
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, dword [edx + 0x74]
xor edi, ebp
xor esi, ecx
xor eax, edi
mov edi, esi
shr edi, 0x18
mov ebp, esi
and edi, 0x3f
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100509f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050bf0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050df0]
mov ebp, dword [esi*4 + 0x10050ff0]
xor edi, ebp
xor eax, edi
mov esi, eax
mov edi, eax
shl esi, 0x1c
shr edi, 4
or esi, edi
mov edi, dword [edx + 0x78]
xor esi, edi
mov edx, dword [edx + 0x7c]
mov edi, esi
mov ebp, esi
shr edi, 0x18
and edi, 0x3f
xor edx, eax
shr ebp, 0x10
mov edi, dword [edi*4 + 0x100508f0]
and ebp, 0x3f
xor edi, dword [ebp*4 + 0x10050af0]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
and esi, 0x3f
xor edi, dword [ebp*4 + 0x10050cf0]
mov ebp, dword [esi*4 + 0x10050ef0]
mov esi, edx
xor edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x10
and edi, 0x3f
shr esi, 0x18
mov ebp, dword [edi*4 + 0x10050bf0]
mov edi, edx
and esi, 0x3f
and edx, 0x3f
shr edi, 8
mov esi, dword [esi*4 + 0x100509f0]
and edi, 0x3f
xor esi, ebp
mov ebp, dword [edi*4 + 0x10050df0]
mov edi, dword [edx*4 + 0x10050ff0]
xor esi, ebp
xor esi, edi
xor ecx, esi
mov edx, ecx
shl edx, 0x1f
shr ecx, 1
or edx, ecx
mov ecx, edx
xor ecx, eax
and ecx, 0xaaaaaaaa
xor eax, ecx
xor edx, ecx
mov ecx, eax
shl ecx, 0x1f
shr eax, 1
or ecx, eax
mov eax, ecx
mov esi, edx
shr eax, 8
and eax, 0xff00ff
and esi, 0xff00ff
xor eax, esi
pop edi
xor edx, eax
shl eax, 8
xor ecx, eax
mov esi, edx
mov eax, ecx
and esi, 0x33333333
shr eax, 2
and eax, 0x33333333
xor eax, esi
xor edx, eax
shl eax, 2
xor ecx, eax
mov eax, edx
mov esi, ecx
shr eax, 0x10
and esi, 0xffff
xor eax, esi
xor ecx, eax
shl eax, 0x10
xor edx, eax
mov esi, ecx
mov eax, edx
and esi, 0xf0f0f0f
shr eax, 4
and eax, 0xf0f0f0f
xor eax, esi
mov esi, eax
xor eax, ecx
shl esi, 4
xor esi, edx
mov dword [ebx], esi
pop esi
mov dword [ebx + 4], eax
pop ebp
pop ebx
ret