Function at 0x40df6f
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 0xc]
push ebx
xor ebx, ebx
push esi
mov bh, byte [eax]
push edi
mov bl, byte [eax + 1]
push 0x3f
movzx ecx, byte [eax + 2]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [eax + 3]
movzx edx, byte [eax + 6]
shl ebx, 8
or ebx, ecx
xor ecx, ecx
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
movzx eax, byte [eax + 7]
shl ecx, 8
or ecx, edx
mov edx, 0xf0f0f0f
shl ecx, 8
or ecx, eax
mov eax, ebx
shr eax, 4
mov esi, ecx
and eax, edx
and esi, edx
xor eax, esi
xor ecx, eax
shl eax, 4
xor ebx, eax
mov edx, ecx
mov eax, ebx
and edx, 0xffff
shr eax, 0x10
xor eax, edx
mov edx, 0x33333333
xor ecx, eax
shl eax, 0x10
xor ebx, eax
mov eax, ecx
shr eax, 2
mov esi, ebx
and eax, edx
and esi, edx
mov edx, 0xff00ff
xor eax, esi
xor ebx, eax
shl eax, 2
xor ecx, eax
mov esi, ebx
mov eax, ecx
and esi, edx
shr eax, 8
and eax, edx
xor eax, esi
xor ebx, eax
shl eax, 8
xor ecx, eax
mov esi, ecx
shr esi, 0x1f
lea eax, [ecx + ecx]
mov ecx, dword [ebp + 8]
or esi, eax
mov edi, dword [ecx]
mov eax, esi
xor eax, ebx
add ecx, 4
and eax, 0xaaaaaaaa
xor ebx, eax
xor esi, eax
mov edx, ebx
xor edi, esi
shr edx, 0x1f
lea eax, [ebx + ebx]
mov ebx, edi
or edx, eax
pop eax
shr ebx, 0x18
and ebx, eax
xor edx, dword [ebx*4 + 0x4165cc]
mov ebx, edi
shr ebx, 0x10
and ebx, eax
xor edx, dword [ebx*4 + 0x4167cc]
mov ebx, edi
shr ebx, 8
and ebx, eax
and edi, eax
xor edx, dword [ebx*4 + 0x4169cc]
mov ebx, esi
shr ebx, 4
xor edx, dword [edi*4 + 0x416bcc]
mov edi, esi
shl edi, 0x1c
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor edx, ebx
xor edi, edx
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, edx
shl edi, 0x1c
xor esi, ebx
mov ebx, edx
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
xor esi, ebx
xor edi, esi
add ecx, 4
mov dword [ebp + 0xc], edi
mov ebx, edi
shr ebx, 0x18
shr edi, 0x10
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x4165cc]
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, esi
shl edi, 0x1c
xor edx, ebx
mov ebx, esi
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor edx, ebx
xor edi, edx
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, edx
shl edi, 0x1c
xor esi, ebx
mov ebx, edx
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
xor esi, ebx
xor edi, esi
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
shr edi, 0x10
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x4165cc]
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, esi
shl edi, 0x1c
xor edx, ebx
mov ebx, esi
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor edx, ebx
xor edi, edx
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, edx
shl edi, 0x1c
xor esi, ebx
mov ebx, edx
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor esi, ebx
xor edi, esi
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
shr edi, 0x10
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x4165cc]
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, esi
shl edi, 0x1c
xor edx, ebx
mov ebx, esi
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor edx, ebx
xor edi, edx
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, edx
shl edi, 0x1c
xor esi, ebx
mov ebx, edx
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor esi, ebx
xor edi, esi
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
shr edi, 0x10
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x4165cc]
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, esi
shl edi, 0x1c
xor edx, ebx
mov ebx, esi
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor edx, ebx
xor edi, edx
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, edx
shl edi, 0x1c
xor esi, ebx
mov ebx, edx
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor esi, ebx
xor edi, esi
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, esi
shl edi, 0x1c
xor edx, ebx
mov ebx, esi
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor edx, ebx
xor edi, edx
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, edx
shl edi, 0x1c
xor esi, ebx
mov ebx, edx
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor esi, ebx
xor edi, esi
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, esi
shl edi, 0x1c
xor edx, ebx
mov ebx, esi
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor edx, ebx
xor edi, edx
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, edx
shl edi, 0x1c
xor esi, ebx
mov ebx, edx
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov dword [ebp + 0xc], edi
mov ebx, edi
shr ebx, 0x18
shr edi, 0x10
and ebx, eax
and edi, eax
mov ebx, dword [ebx*4 + 0x4164cc]
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
add ecx, 4
xor esi, ebx
xor edi, esi
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, esi
shl edi, 0x1c
xor edx, ebx
mov ebx, esi
shr ebx, 4
or edi, ebx
xor edi, dword [ecx]
add ecx, 4
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4164cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4166cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4168cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416acc]
mov edi, dword [ecx]
xor edx, ebx
xor edi, edx
mov ebx, edi
mov dword [ebp + 0xc], edi
shr ebx, 0x18
and ebx, eax
shr edi, 0x10
mov ebx, dword [ebx*4 + 0x4165cc]
and edi, eax
xor ebx, dword [edi*4 + 0x4167cc]
mov edi, dword [ebp + 0xc]
shr edi, 8
and edi, eax
xor ebx, dword [edi*4 + 0x4169cc]
mov edi, dword [ebp + 0xc]
and edi, eax
xor ebx, dword [edi*4 + 0x416bcc]
mov edi, edx
shl edi, 0x1c
xor esi, ebx
mov ebx, edx
shr ebx, 4
or edi, ebx
xor edi, dword [ecx + 4]
mov ecx, edi
shr ecx, 0x18
mov ebx, edi
and ecx, eax
shr ebx, 0x10
mov ecx, dword [ecx*4 + 0x4164cc]
and ebx, eax
xor ecx, dword [ebx*4 + 0x4166cc]
mov ebx, edi
shr ebx, 8
and ebx, eax
and edi, eax
xor ecx, dword [ebx*4 + 0x4168cc]
xor ecx, dword [edi*4 + 0x416acc]
xor esi, ecx
mov eax, esi
shl eax, 0x1f
shr esi, 1
or eax, esi
mov ecx, eax
xor ecx, edx
and ecx, 0xaaaaaaaa
xor edx, ecx
xor eax, ecx
mov ebx, edx
mov esi, eax
shl ebx, 0x1f
shr edx, 1
or ebx, edx
mov edx, 0xff00ff
mov ecx, ebx
and esi, edx
shr ecx, 8
and ecx, edx
mov edx, 0x33333333
xor ecx, esi
xor eax, ecx
shl ecx, 8
xor ebx, ecx
mov esi, eax
mov ecx, ebx
and esi, edx
shr ecx, 2
and ecx, edx
xor ecx, esi
xor eax, ecx
shl ecx, 2
xor ebx, ecx
mov ecx, eax
mov edx, ebx
shr ecx, 0x10
and edx, 0xffff
xor ecx, edx
mov edx, 0xf0f0f0f
xor ebx, ecx
shl ecx, 0x10
xor eax, ecx
mov esi, ebx
mov ecx, eax
and esi, edx
shr ecx, 4
and ecx, edx
xor ecx, esi
xor ebx, ecx
shl ecx, 4
xor eax, ecx
mov ecx, dword [ebp + 0x10]
mov edx, eax
shr edx, 0x18
mov byte [ecx], dl
mov edx, eax
shr edx, 0x10
mov byte [ecx + 1], dl
mov edx, eax
mov byte [ecx + 3], al
mov eax, ebx
shr eax, 0x18
mov byte [ecx + 4], al
mov eax, ebx
shr edx, 8
mov byte [ecx + 2], dl
shr eax, 0x10
mov byte [ecx + 5], al
mov eax, ebx
shr eax, 8
pop edi
mov byte [ecx + 7], bl
pop esi
mov byte [ecx + 6], al
pop ebx
pop ebp
ret 0xc