Function at 0x101fd6e0
Capabilities:
Encrypt data using des

Disassembly:
push ebx
push ebp
push esi
push edi
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, esi
shr ecx, 4
xor ecx, eax
and ecx, 0xf0f0f0f
xor eax, ecx
shl ecx, 4
xor esi, ecx
mov ecx, eax
shr ecx, 0x10
xor ecx, esi
and ecx, 0xffff
xor esi, ecx
shl ecx, 0x10
xor eax, ecx
mov ecx, esi
shr ecx, 2
xor ecx, eax
and ecx, 0x33333333
xor eax, ecx
add ecx, ecx
add ecx, ecx
xor esi, ecx
mov ecx, eax
shr ecx, 8
xor ecx, esi
and ecx, 0xff00ff
xor esi, ecx
shl ecx, 8
xor eax, ecx
mov ecx, esi
shr ecx, 1
xor ecx, eax
and ecx, 0x55555555
mov edx, ecx
xor edx, eax
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
mov edi, dword [eax + 4]
rol edx, 1
xor ebx, edx
xor edi, edx
ror edi, 4
add ecx, ecx
xor ecx, esi
mov esi, edi
shr esi, 0x18
and esi, 0x3f
mov esi, dword [esi*4 + 0x10252fc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or esi, dword [ebp*4 + 0x10252dc8]
mov ebp, ebx
shr ebp, 0x18
and ebp, 0x3f
or esi, dword [ebp*4 + 0x10252ec8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or esi, dword [ebp*4 + 0x10252bc8]
mov ebp, ebx
shr ebp, 0x10
and ebp, 0x3f
or esi, dword [ebp*4 + 0x10252cc8]
mov ebp, ebx
shr ebp, 8
and ebp, 0x3f
or esi, dword [ebp*4 + 0x10252ac8]
and edi, 0x3f
or esi, dword [edi*4 + 0x102529c8]
and ebx, 0x3f
or esi, dword [ebx*4 + 0x102528c8]
rol ecx, 1
xor ecx, esi
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 8]
xor edi, ecx
xor esi, ecx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x14]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x10]
xor edx, ebx
xor edi, edx
xor esi, edx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x1c]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x18]
xor ecx, ebx
xor esi, ecx
xor edi, ecx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
mov ebp, esi
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x24]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x20]
xor edx, ebx
xor edi, edx
xor esi, edx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x2c]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x28]
xor ecx, ebx
xor edi, ecx
xor esi, ecx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x34]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x30]
xor edx, ebx
xor edi, edx
xor esi, edx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x3c]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x38]
xor ecx, ebx
xor edi, ecx
xor esi, ecx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x44]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x40]
xor edx, ebx
xor esi, edx
xor edi, edx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x4c]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x48]
xor ecx, ebx
xor edi, ecx
xor esi, ecx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x54]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x50]
xor edx, ebx
xor edi, edx
xor esi, edx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x5c]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x58]
xor ecx, ebx
xor edi, ecx
xor esi, ecx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x64]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x60]
xor edx, ebx
xor edi, edx
xor esi, edx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x6c]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x68]
xor ecx, ebx
xor edi, ecx
xor esi, ecx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
mov esi, dword [eax + 0x74]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x70]
xor edx, ebx
xor edi, edx
xor esi, edx
ror esi, 4
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x10252fc8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252dc8]
mov ebp, edi
shr ebp, 0x18
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ec8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252bc8]
mov ebp, edi
shr ebp, 0x10
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252cc8]
mov ebp, edi
shr ebp, 8
and ebp, 0x3f
or ebx, dword [ebp*4 + 0x10252ac8]
and esi, 0x3f
or ebx, dword [esi*4 + 0x102529c8]
and edi, 0x3f
or ebx, dword [edi*4 + 0x102528c8]
mov edi, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
xor ecx, ebx
xor eax, ecx
xor edi, ecx
ror eax, 4
mov esi, eax
shr esi, 0x18
mov ebx, eax
and esi, 0x3f
shr ebx, 0x10
mov esi, dword [esi*4 + 0x10252fc8]
and ebx, 0x3f
or esi, dword [ebx*4 + 0x10252dc8]
mov ebx, edi
shr ebx, 0x18
and ebx, 0x3f
or esi, dword [ebx*4 + 0x10252ec8]
mov ebx, eax
shr ebx, 8
and eax, 0x3f
and ebx, 0x3f
or esi, dword [ebx*4 + 0x10252bc8]
mov ebx, edi
shr ebx, 0x10
and ebx, 0x3f
or esi, dword [ebx*4 + 0x10252cc8]
mov ebx, edi
shr ebx, 8
and ebx, 0x3f
or esi, dword [ebx*4 + 0x10252ac8]
and edi, 0x3f
or esi, dword [eax*4 + 0x102529c8]
or esi, dword [edi*4 + 0x102528c8]
pop edi
xor esi, edx
ror esi, 1
mov eax, esi
shr eax, 1
ror ecx, 1
xor eax, ecx
and eax, 0x55555555
xor ecx, eax
lea edx, [eax + eax]
xor esi, edx
mov eax, ecx
shr eax, 8
xor eax, esi
and eax, 0xff00ff
xor esi, eax
shl eax, 8
xor ecx, eax
mov eax, esi
shr eax, 2
xor eax, ecx
and eax, 0x33333333
xor ecx, eax
add eax, eax
add eax, eax
xor esi, eax
mov eax, ecx
shr eax, 0x10
xor eax, esi
and eax, 0xffff
xor esi, eax
shl eax, 0x10
xor ecx, eax
mov eax, esi
shr eax, 4
xor eax, ecx
and eax, 0xf0f0f0f
mov edx, eax
shl eax, 4
xor eax, esi
pop esi
xor edx, ecx
mov ecx, dword [esp + 0x10]
pop ebp
mov dword [ecx], edx
mov dword [ecx + 4], eax
pop ebx
ret