Function at 0x20001340
Capabilities:
Encrypt data using des

Disassembly:
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x14]
mov edx, dword [edi]
mov ecx, dword [edi + 4]
mov eax, edx
shr eax, 4
xor eax, ecx
and eax, 0xf0f0f0f
xor ecx, eax
shl eax, 4
xor edx, eax
mov eax, edx
shr eax, 0x10
xor eax, ecx
and eax, 0xffff
xor ecx, eax
shl eax, 0x10
xor edx, eax
mov eax, ecx
shr eax, 2
xor eax, edx
and eax, 0x33333333
xor edx, eax
add eax, eax
add eax, eax
xor ecx, eax
mov eax, ecx
shr eax, 8
xor eax, edx
and eax, 0xff00ff
xor edx, eax
shl eax, 8
xor eax, ecx
rol eax, 1
mov ecx, eax
xor ecx, edx
and ecx, 0xaaaaaaaa
xor eax, ecx
xor ecx, edx
mov edx, dword [esp + 0x18]
rol ecx, 1
mov esi, eax
ror esi, 4
xor esi, dword [edx]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 4]
xor ecx, ebx
xor esi, eax
mov ebx, esi
shr ebx, 0x18
mov ebp, esi
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor ecx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [edx + 8]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0xc]
xor eax, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor eax, ebx
mov esi, eax
ror esi, 4
xor esi, dword [edx + 0x10]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x14]
xor ecx, ebx
xor esi, eax
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor ecx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [edx + 0x18]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x1c]
xor eax, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor eax, ebx
mov esi, eax
ror esi, 4
xor esi, dword [edx + 0x20]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x24]
xor ecx, ebx
xor esi, eax
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor ecx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [edx + 0x28]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x2c]
xor esi, ecx
xor eax, ebx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebp, esi
mov ebx, dword [ebx*4 + 0x200251e8]
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor eax, ebx
mov esi, eax
ror esi, 4
xor esi, dword [edx + 0x30]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x34]
xor ecx, ebx
xor esi, eax
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor ecx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [edx + 0x38]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x3c]
xor eax, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor eax, ebx
mov esi, eax
ror esi, 4
xor esi, dword [edx + 0x40]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x44]
xor ecx, ebx
xor esi, eax
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor ecx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [edx + 0x48]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x4c]
xor eax, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor eax, ebx
mov esi, eax
ror esi, 4
xor esi, dword [edx + 0x50]
mov ebx, esi
shr ebx, 0x18
mov ebp, esi
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x54]
xor ecx, ebx
xor esi, eax
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor ecx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [edx + 0x58]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x5c]
xor eax, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor eax, ebx
mov esi, eax
ror esi, 4
xor esi, dword [edx + 0x60]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x64]
xor esi, eax
xor ecx, ebx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor ecx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [edx + 0x68]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x6c]
xor eax, ebx
xor esi, ecx
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor eax, ebx
mov esi, eax
ror esi, 4
xor esi, dword [edx + 0x70]
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, dword [edx + 0x74]
xor ecx, ebx
xor esi, eax
mov ebx, esi
shr ebx, 0x18
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200251e8]
mov ebp, esi
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200253e8]
mov ebp, esi
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200255e8]
and esi, 0x3f
xor ebx, dword [esi*4 + 0x200257e8]
xor ecx, ebx
mov esi, ecx
ror esi, 4
xor esi, dword [edx + 0x78]
mov edx, dword [edx + 0x7c]
mov ebx, esi
mov ebp, esi
shr ebx, 0x18
xor edx, ecx
and ebx, 0x3f
mov ebx, dword [ebx*4 + 0x200250e8]
shr ebp, 0x10
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200252e8]
mov ebp, esi
and esi, 0x3f
shr ebp, 8
and ebp, 0x3f
xor ebx, dword [ebp*4 + 0x200254e8]
xor ebx, dword [esi*4 + 0x200256e8]
mov esi, edx
xor eax, ebx
shr esi, 0x18
and esi, 0x3f
mov esi, dword [esi*4 + 0x200251e8]
mov ebx, edx
shr ebx, 0x10
and ebx, 0x3f
xor esi, dword [ebx*4 + 0x200253e8]
mov ebx, edx
shr ebx, 8
and ebx, 0x3f
xor esi, dword [ebx*4 + 0x200255e8]
and edx, 0x3f
xor esi, dword [edx*4 + 0x200257e8]
xor esi, eax
ror esi, 1
mov eax, esi
xor eax, ecx
and eax, 0xaaaaaaaa
xor esi, eax
xor eax, ecx
ror eax, 1
mov ecx, eax
shr ecx, 8
xor ecx, esi
and ecx, 0xff00ff
xor esi, ecx
shl ecx, 8
xor eax, ecx
mov ecx, eax
shr ecx, 2
xor ecx, esi
and ecx, 0x33333333
xor esi, ecx
add ecx, ecx
add ecx, ecx
xor eax, ecx
mov ecx, esi
shr ecx, 0x10
xor ecx, eax
and ecx, 0xffff
xor eax, ecx
shl ecx, 0x10
xor esi, ecx
mov ecx, esi
shr ecx, 4
xor ecx, eax
and ecx, 0xf0f0f0f
mov edx, ecx
shl edx, 4
xor edx, esi
mov dword [edi], edx
xor ecx, eax
mov dword [edi + 4], ecx
pop edi
pop esi
pop ebp
pop ebx
ret