Function at 0x41585f
Capabilities:
Encrypt data using des

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