Function at 0x403ea3
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x104
and dword [ebp - 0xc0], 0
jmp 0x403ec2
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x38
jge 0x403f22
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax + str.80_]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xfc]
and eax, 7
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xfc]
sar eax, 3
mov ecx, dword [ebp + 8]
movzx eax, byte [ecx + eax]
mov ecx, dword [ebp - 0x100]
movzx ecx, word [ecx*2 + 0x4144ac]
and eax, ecx
neg eax
sbb eax, eax
neg eax
mov ecx, dword [ebp - 0xc0]
mov byte [ebp + ecx - 0xb8], al
jmp 0x403eb5
and dword [ebp - 0xbc], 0
jmp 0x403f38
mov eax, dword [ebp - 0xbc]
inc eax
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0x10
jge 0x404128
movsx eax, word [ebp + 0xc]
cmp eax, 1
jne 0x403f61
push 0xf
pop eax
sub eax, dword [ebp - 0xbc]
shl eax, 1
mov dword [ebp - 0x100], eax
jmp 0x403f6f
mov eax, dword [ebp - 0xbc]
shl eax, 1
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
inc eax
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
and dword [ebp + eax*4 - 0x80], 0
mov eax, dword [ebp - 0x100]
and dword [ebp + eax*4 - 0x80], 0
and dword [ebp - 0xc0], 0
jmp 0x403fa8
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x1c
jge 0x40400d
mov eax, dword [ebp - 0xbc]
movzx eax, byte [eax + 0x414554]
mov ecx, dword [ebp - 0xc0]
add ecx, eax
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0xfc], 0x1c
jge 0x403ff1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xfc]
mov cl, byte [ebp + ecx - 0xb8]
mov byte [ebp + eax - 0xf8], cl
jmp 0x40400b
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xfc]
mov cl, byte [ebp + ecx - 0xd4]
mov byte [ebp + eax - 0xf8], cl
jmp 0x403f9b
mov dword [ebp - 0xc0], 0x1c
jmp 0x404026
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x38
jge 0x40408b
mov eax, dword [ebp - 0xbc]
movzx eax, byte [eax + 0x414554]
mov ecx, dword [ebp - 0xc0]
add ecx, eax
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0xfc], 0x38
jge 0x40406f
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xfc]
mov cl, byte [ebp + ecx - 0xb8]
mov byte [ebp + eax - 0xf8], cl
jmp 0x404089
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xfc]
mov cl, byte [ebp + ecx - 0xd4]
mov byte [ebp + eax - 0xf8], cl
jmp 0x404019
and dword [ebp - 0xc0], 0
jmp 0x4040a1
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0x18
jge 0x404123
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax + 0x414564]
movzx eax, byte [ebp + eax - 0xf8]
test eax, eax
je 0x4040e4
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp + eax*4 - 0x80]
or eax, dword [ecx*4 + 0x4144bc]
mov ecx, dword [ebp - 0x100]
mov dword [ebp + ecx*4 - 0x80], eax
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax + 0x41457c]
movzx eax, byte [ebp + eax - 0xf8]
test eax, eax
je 0x40411e
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ebp + eax*4 - 0x80]
or eax, dword [ecx*4 + 0x4144bc]
mov ecx, dword [ebp - 0x104]
mov dword [ebp + ecx*4 - 0x80], eax
jmp 0x404094
jmp 0x403f2b
lea eax, [ebp - 0x80]
push eax
call fcn.00404134
pop ecx
leave
ret