Function at 0x414e7a
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, ecx
push edi
shr esi, 4
mov edx, 0xf0f0f0f
mov edi, eax
and esi, edx
and edi, edx
xor esi, edi
push 0x3f
mov edx, esi
xor eax, esi
shl edx, 4
xor ecx, edx
mov edx, eax
mov esi, ecx
and edx, 0xffff
shr esi, 0x10
xor edx, esi
mov esi, edx
xor eax, edx
shl esi, 0x10
xor ecx, esi
mov edx, eax
shr edx, 2
mov esi, 0x33333333
mov edi, ecx
and edx, esi
and edi, esi
xor edx, edi
mov esi, edx
xor ecx, edx
shl esi, 2
xor eax, esi
mov edx, 0xff00ff
mov esi, eax
mov edi, ecx
shr esi, 8
and esi, edx
and edi, edx
xor esi, edi
mov edx, esi
xor ecx, esi
shl edx, 8
xor eax, edx
mov edx, ecx
shr edx, 1
mov esi, 0x55555555
mov edi, eax
and edx, esi
and edi, esi
xor edx, edi
xor eax, edx
lea esi, [edx + edx]
xor ecx, esi
lea esi, [eax + eax]
shr eax, 0x1f
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0x14]
or esi, eax
mov eax, esi
mov edi, dword [ecx + 0x40]
xor eax, dword [ecx]
xor edi, esi
mov ebx, edi
mov edx, eax
shr edx, 4
shl eax, 0x1c
or edx, eax
pop eax
mov dword [ebp + 0x10], edx
and edx, eax
and ebx, eax
mov edx, dword [edx*4 + 0x436460]
or edx, dword [ebx*4 + 0x436560]
mov ebx, dword [ebp + 0x10]
shr ebx, 0x10
and ebx, eax
or edx, dword [ebx*4 + 0x436060]
mov ebx, edi
shr ebx, 0x10
and ebx, eax
or edx, dword [ebx*4 + 0x436160]
mov ebx, dword [ebp + 0x10]
shr ebx, 0x18
and ebx, eax
or edx, dword [ebx*4 + 0x435e60]
mov ebx, edi
shr ebx, 0x18
and ebx, eax
shr edi, 8
or edx, dword [ebx*4 + 0x435f60]
mov ebx, dword [ebp + 0x10]
shr ebx, 8
and ebx, eax
and edi, eax
or edx, dword [ebx*4 + 0x436260]
or edx, dword [edi*4 + 0x436360]
mov edi, dword [ebp + 0xc]
lea ebx, [edi + edi]
shr edi, 0x1f
or ebx, edi
mov edi, dword [ecx + 4]
xor edx, ebx
mov ebx, dword [ecx + 0x44]
xor ebx, edx
xor edi, edx
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 8]
xor esi, ebx
mov ebx, dword [ecx + 0x48]
xor ebx, esi
xor edi, esi
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0xc]
xor edx, ebx
mov ebx, dword [ecx + 0x4c]
xor ebx, edx
xor edi, edx
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x10]
xor esi, ebx
mov ebx, dword [ecx + 0x50]
xor ebx, esi
xor edi, esi
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x14]
xor edx, ebx
mov ebx, dword [ecx + 0x54]
xor ebx, edx
xor edi, edx
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x18]
xor esi, ebx
mov ebx, dword [ecx + 0x58]
xor ebx, esi
xor edi, esi
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x1c]
xor edx, ebx
mov ebx, dword [ecx + 0x5c]
xor ebx, edx
xor edi, edx
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x20]
xor esi, ebx
mov ebx, dword [ecx + 0x60]
xor ebx, esi
xor edi, esi
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x24]
xor edx, ebx
mov ebx, dword [ecx + 0x64]
xor ebx, edx
xor edi, edx
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x28]
xor esi, ebx
mov ebx, dword [ecx + 0x68]
xor ebx, esi
xor edi, esi
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x2c]
xor edx, ebx
mov ebx, dword [ecx + 0x6c]
xor ebx, edx
xor edi, edx
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x30]
xor esi, ebx
mov ebx, dword [ecx + 0x70]
xor ebx, esi
xor edi, esi
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x34]
xor edx, ebx
mov ebx, dword [ecx + 0x74]
xor ebx, edx
xor edi, edx
mov dword [ebp + 0xc], ebx
mov ebx, edi
shl edi, 0x1c
shr ebx, 4
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x38]
xor esi, ebx
mov ebx, dword [ecx + 0x78]
xor ebx, esi
xor edi, esi
mov dword [ebp + 0xc], ebx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, dword [ebp + 0xc]
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, dword [ebp + 0xc]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, dword [ebp + 0xc]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436260]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
or ebx, dword [edi*4 + 0x436360]
mov edi, dword [ecx + 0x3c]
mov ecx, dword [ecx + 0x7c]
xor edx, ebx
xor edi, edx
xor ecx, edx
mov ebx, edi
shr ebx, 4
shl edi, 0x1c
or ebx, edi
mov edi, ecx
mov dword [ebp + 0x10], ebx
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x436460]
or ebx, dword [edi*4 + 0x436560]
mov edi, dword [ebp + 0x10]
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436060]
mov edi, ecx
shr edi, 0x10
and edi, eax
or ebx, dword [edi*4 + 0x436160]
mov edi, dword [ebp + 0x10]
shr edi, 0x18
and edi, eax
or ebx, dword [edi*4 + 0x435e60]
mov edi, ecx
shr edi, 0x18
and edi, eax
shr ecx, 8
or ebx, dword [edi*4 + 0x435f60]
mov edi, dword [ebp + 0x10]
shr edi, 8
and edi, eax
and ecx, eax
mov eax, edx
or ebx, dword [edi*4 + 0x436260]
shr eax, 1
or ebx, dword [ecx*4 + 0x436360]
shl edx, 0x1f
xor esi, ebx
or eax, edx
mov ecx, esi
mov edi, eax
shr ecx, 1
shl esi, 0x1f
or ecx, esi
mov esi, 0x55555555
mov edx, ecx
and eax, esi
shr edx, 1
and edx, esi
xor edx, eax
xor edi, edx
lea eax, [edx + edx]
mov edx, edi
xor ecx, eax
mov eax, 0xff00ff
shr edx, 8
mov esi, ecx
and edx, eax
and esi, eax
xor edx, esi
mov eax, edx
xor ecx, edx
shl eax, 8
xor edi, eax
mov edx, 0x33333333
mov eax, edi
mov esi, ecx
shr eax, 2
and eax, edx
and esi, edx
xor eax, esi
mov edx, eax
xor ecx, eax
shl edx, 2
xor edi, edx
mov edx, ecx
mov eax, edi
and eax, 0xffff
shr edx, 0x10
xor eax, edx
mov edx, eax
xor edi, eax
shl edx, 0x10
xor ecx, edx
mov edx, 0xf0f0f0f
mov eax, ecx
mov esi, edi
shr eax, 4
and eax, edx
and esi, edx
xor eax, esi
mov edx, eax
shl edx, 4
xor edx, ecx
mov ecx, dword [ebp + 8]
xor eax, edi
pop edi
pop esi
mov dword [ecx], edx
mov dword [ecx + 4], eax
pop ebx
pop ebp
ret