Function at 0x4a9bac
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeec
mov dword [ebp - 0x24], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x114]
xor ecx, ecx
mov edx, 0x80
call fcn.0040320c
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
mov cl, byte [eax + 0x4e26bc]
and cl, 7
mov eax, 0x80
shr eax, cl
mov edx, dword [ebp - 0xc]
movzx edx, byte [edx + 0x4e26bc]
shr edx, 3
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx + edx]
and eax, edx
je 0x4a9c10
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x5c], 1
jmp 0x4a9c18
mov eax, dword [ebp - 0xc]
mov byte [ebp + eax - 0x5c], 0
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x38
jne 0x4a9bdb
xor eax, eax
mov dword [ebp - 0xc], eax
cmp byte [ebp + 8], 0
je 0x4a9c3b
mov eax, 0xf
sub eax, dword [ebp - 0xc]
add eax, eax
mov dword [ebp - 0x18], eax
jmp 0x4a9c43
mov eax, dword [ebp - 0xc]
add eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x4e674c]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x1c
jae 0x4a9c78
mov eax, dword [ebp - 0x14]
mov al, byte [ebp + eax - 0x5c]
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x94], al
jmp 0x4a9c89
mov eax, dword [ebp - 0x14]
mov al, byte [ebp + eax - 0x78]
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x94], al
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x1c
jne 0x4a9c4f
mov dword [ebp - 0x10], 0x1c
mov eax, dword [ebp - 0xc]
movzx eax, byte [eax + 0x4e674c]
add eax, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0x38
jae 0x4a9cc2
mov eax, dword [ebp - 0x14]
mov al, byte [ebp + eax - 0x5c]
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x94], al
jmp 0x4a9cd3
mov eax, dword [ebp - 0x14]
mov al, byte [ebp + eax - 0x78]
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x94], al
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x38
jne 0x4a9c99
mov dword [ebp - 0x14], 0x1000000
xor eax, eax
mov dword [ebp - 0x10], eax
shr dword [ebp - 0x14], 1
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x4e26f4]
cmp byte [ebp + eax - 0x94], 0
je 0x4a9d0c
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
or dword [ebp + eax*4 - 0x114], edx
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + 0x4e270c]
cmp byte [ebp + eax - 0x94], 0
je 0x4a9d2d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x14]
or dword [ebp + eax*4 - 0x114], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 0x18
jne 0x4a9ce8
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x10
jne 0x4a9c26
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
add eax, eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x114]
and eax, 0xfc0000
shl eax, 6
mov edx, dword [ebp - 0x18]
mov edx, dword [ebp + edx*4 - 0x114]
and edx, 0xfc0
shl edx, 0xa
or eax, edx
mov edx, dword [ebp - 0x1c]
mov edx, dword [ebp + edx*4 - 0x114]
and edx, 0xfc0000
shr edx, 0xa
or eax, edx
mov edx, dword [ebp - 0x1c]
mov edx, dword [ebp + edx*4 - 0x114]
and edx, 0xfc0
shr edx, 6
or eax, edx
mov edx, dword [ebp - 0x20]
mov dword [edx], eax
add dword [ebp - 0x20], 4
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp + eax*4 - 0x114]
and eax, 0x3f000
shl eax, 0xc
mov edx, dword [ebp - 0x18]
mov edx, dword [ebp + edx*4 - 0x114]
and edx, 0x3f
shl edx, 0x10
or eax, edx
mov edx, dword [ebp - 0x1c]
mov edx, dword [ebp + edx*4 - 0x114]
and edx, 0x3f000
shr edx, 4
or eax, edx
mov edx, dword [ebp - 0x1c]
mov edx, dword [ebp + edx*4 - 0x114]
and edx, 0x3f
or eax, edx
mov edx, dword [ebp - 0x20]
mov dword [edx], eax
add dword [ebp - 0x20], 4
inc dword [ebp - 0xc]
cmp dword [ebp - 0xc], 0x10
jne 0x4a9d48
mov esp, ebp
pop ebp
ret 8