Function at 0x4de5e0
Capabilities:
Encrypt data using des

Disassembly:
sub esp, 0xfc
mov eax, dword [0x53aab0]
xor eax, esp
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x104]
push ebx
push ebp
push esi
mov dword [esp + 0x10], eax
push edi
mov esi, ecx
xor eax, eax
jmp 0x4de610
movzx ecx, byte [eax + 0x52a1f0]
mov edx, ecx
shr ecx, 3
movzx ecx, byte [ecx + esi]
and edx, 7
mov edx, dword [edx*4 + 0x52a170]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x52a1f1]
sete dl
mov byte [esp + eax + 0xd0], dl
mov edx, ecx
shr ecx, 3
movzx ecx, byte [ecx + esi]
and edx, 7
mov edx, dword [edx*4 + 0x52a170]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x52a1f2]
sete dl
mov byte [esp + eax + 0xd1], dl
mov edx, ecx
shr ecx, 3
movzx ecx, byte [ecx + esi]
and edx, 7
mov edx, dword [edx*4 + 0x52a170]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x52a1f3]
sete dl
mov byte [esp + eax + 0xd2], dl
mov edx, ecx
shr ecx, 3
movzx ecx, byte [ecx + esi]
and edx, 7
mov edx, dword [edx*4 + 0x52a170]
and ecx, edx
cmp ecx, edx
sete dl
mov byte [esp + eax + 0xd3], dl
add eax, 4
cmp eax, 0x38
jb 0x4de610
xor ecx, ecx
mov dword [esp + 0x10], ecx
cmp word [esp + 0x110], 1
jne 0x4de6d8
mov eax, 0xf
sub eax, ecx
add eax, eax
jmp 0x4de6db
lea eax, [ecx + ecx]
movzx edi, byte [ecx + 0x52a228]
lea ebp, [esp + eax*4 + 0x1c]
lea edx, [esp + eax*4 + 0x18]
mov dword [ebp], 0
mov dword [edx], 0
xor eax, eax
lea esi, [edi + 3]
lea ecx, [edi + 2]
nop
lea ebx, [esi - 3]
cmp ebx, 0x1c
jae 0x4de711
mov bl, byte [esp + ecx + 0xce]
jmp 0x4de718
mov bl, byte [esp + esi + 0xb1]
mov byte [esp + eax + 0x98], bl
lea ebx, [esi - 2]
cmp ebx, 0x1c
jae 0x4de730
mov bl, byte [esp + ecx + 0xcf]
jmp 0x4de737
mov bl, byte [esp + esi + 0xb2]
mov byte [esp + eax + 0x99], bl
cmp ecx, 0x1c
jae 0x4de74c
mov bl, byte [esp + ecx + 0xd0]
jmp 0x4de753
mov bl, byte [esp + ecx + 0xb4]
mov byte [esp + eax + 0x9a], bl
cmp esi, 0x1c
jae 0x4de768
mov bl, byte [esp + ecx + 0xd1]
jmp 0x4de76f
mov bl, byte [esp + esi + 0xb4]
mov byte [esp + eax + 0x9b], bl
add eax, 4
add ecx, 4
add esi, 4
cmp eax, 0x1c
jb 0x4de700
cmp eax, 0x38
jae 0x4de7b3
lea ecx, [edi + eax]
cmp ecx, 0x38
jae 0x4de79e
mov bl, byte [esp + ecx + 0xd0]
jmp 0x4de7a5
mov bl, byte [esp + ecx + 0xb4]
mov byte [esp + eax + 0x98], bl
inc eax
inc ecx
cmp eax, 0x38
jb 0x4de790
xor eax, eax
jmp 0x4de7c0
movzx ecx, byte [eax + 0x52a238]
cmp byte [esp + ecx + 0x98], 0
je 0x4de7da
mov ecx, dword [eax*4 + 0x52a190]
or dword [edx], ecx
movzx ecx, byte [eax + 0x52a250]
cmp byte [esp + ecx + 0x98], 0
je 0x4de7f5
mov ecx, dword [eax*4 + 0x52a190]
or dword [ebp], ecx
movzx ecx, byte [eax + 0x52a239]
cmp byte [esp + ecx + 0x98], 0
je 0x4de80f
mov ecx, dword [eax*4 + 0x52a194]
or dword [edx], ecx
movzx ecx, byte [eax + 0x52a251]
cmp byte [esp + ecx + 0x98], 0
je 0x4de82a
mov ecx, dword [eax*4 + 0x52a194]
or dword [ebp], ecx
movzx ecx, byte [eax + 0x52a23a]
cmp byte [esp + ecx + 0x98], 0
je 0x4de844
mov ecx, dword [eax*4 + 0x52a198]
or dword [edx], ecx
movzx ecx, byte [eax + 0x52a252]
cmp byte [esp + ecx + 0x98], 0
je 0x4de85f
mov ecx, dword [eax*4 + 0x52a198]
or dword [ebp], ecx
movzx ecx, byte [eax + 0x52a23b]
cmp byte [esp + ecx + 0x98], 0
je 0x4de879
mov ecx, dword [eax*4 + 0x52a19c]
or dword [edx], ecx
movzx ecx, byte [eax + 0x52a253]
cmp byte [esp + ecx + 0x98], 0
je 0x4de894
mov ecx, dword [eax*4 + 0x52a19c]
or dword [ebp], ecx
movzx ecx, byte [eax + 0x52a23c]
cmp byte [esp + ecx + 0x98], 0
je 0x4de8ae
mov ecx, dword [eax*4 + 0x52a1a0]
or dword [edx], ecx
movzx ecx, byte [eax + 0x52a254]
cmp byte [esp + ecx + 0x98], 0
je 0x4de8c9
mov ecx, dword [eax*4 + 0x52a1a0]
or dword [ebp], ecx
movzx ecx, byte [eax + 0x52a23d]
cmp byte [esp + ecx + 0x98], 0
je 0x4de8e3
mov ecx, dword [eax*4 + 0x52a1a4]
or dword [edx], ecx
movzx ecx, byte [eax + 0x52a255]
cmp byte [esp + ecx + 0x98], 0
je 0x4de8fe
mov ecx, dword [eax*4 + 0x52a1a4]
or dword [ebp], ecx
add eax, 6
cmp eax, 0x18
jb 0x4de7c0
mov ecx, dword [esp + 0x10]
inc ecx
mov dword [esp + 0x10], ecx
cmp ecx, 0x10
jb 0x4de6c2
mov edx, dword [esp + 0x14]
push edx
lea ecx, [esp + 0x1c]
call fcn.004de950
mov ecx, dword [esp + 0x10c]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00503dcd
add esp, 0xfc
ret