Function at 0x4291d0
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
mov eax, dword [0x47c5a8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xfc], eax
push edi
xor eax, eax
movzx ecx, byte [eax + str.80_]
mov edx, ecx
shr ecx, 3
movzx ecx, byte [ecx + esi]
and edx, 7
mov edx, dword [edx*4 + 0x46d6b8]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x46d739]
sete dl
mov byte [ebp + eax - 0x74], dl
mov edx, ecx
shr ecx, 3
movzx ecx, byte [ecx + esi]
and edx, 7
mov edx, dword [edx*4 + 0x46d6b8]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x46d73a]
sete dl
mov byte [ebp + eax - 0x73], dl
mov edx, ecx
shr ecx, 3
movzx ecx, byte [ecx + esi]
and edx, 7
mov edx, dword [edx*4 + 0x46d6b8]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x46d73b]
sete dl
mov byte [ebp + eax - 0x72], dl
mov edx, ecx
shr ecx, 3
movzx ecx, byte [ecx + esi]
and edx, 7
mov edx, dword [edx*4 + 0x46d6b8]
and ecx, edx
cmp ecx, edx
sete dl
mov byte [ebp + eax - 0x71], dl
add eax, 4
cmp eax, 0x38
jb 0x4291f4
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
lea esp, [esp]
cmp word [ebp + 0xc], 1
jne 0x4292b2
mov eax, 0xf
sub eax, ecx
add eax, eax
jmp 0x4292b5
lea eax, [ecx + ecx]
movzx edi, byte [ecx + 0x46d770]
lea edx, [ebp + eax*4 - 0xf0]
lea eax, [ebp + eax*4 - 0xf4]
mov dword [edx], 0
mov dword [ebp - 0x100], eax
mov dword [eax], 0
xor eax, eax
lea esi, [edi + 3]
lea ecx, [edi + 2]
lea ebx, [esi - 3]
cmp ebx, 0x1c
jae 0x4292f2
mov bl, byte [ebp + ecx - 0x76]
jmp 0x4292f9
mov bl, byte [ebp + esi - 0x93]
mov byte [ebp + eax - 0x3c], bl
lea ebx, [esi - 2]
cmp ebx, 0x1c
jae 0x42930b
mov bl, byte [ebp + ecx - 0x75]
jmp 0x429312
mov bl, byte [ebp + esi - 0x92]
mov byte [ebp + eax - 0x3b], bl
cmp ecx, 0x1c
jae 0x429321
mov bl, byte [ebp + ecx - 0x74]
jmp 0x429328
mov bl, byte [ebp + ecx - 0x90]
mov byte [ebp + eax - 0x3a], bl
cmp esi, 0x1c
jae 0x429337
mov bl, byte [ebp + ecx - 0x73]
jmp 0x42933e
mov bl, byte [ebp + esi - 0x90]
mov byte [ebp + eax - 0x39], bl
add eax, 4
add ecx, 4
add esi, 4
cmp eax, 0x1c
jb 0x4292e4
cmp eax, 0x38
jae 0x429375
lea ecx, [edi + eax]
cmp ecx, 0x38
jae 0x429363
mov bl, byte [ebp + ecx - 0x74]
jmp 0x42936a
mov bl, byte [ebp + ecx - 0x90]
mov byte [ebp + eax - 0x3c], bl
inc eax
inc ecx
cmp eax, 0x38
jb 0x429358
mov ecx, dword [ebp - 0x100]
xor eax, eax
lea ecx, [ecx]
movzx esi, byte [eax + 0x46d780]
cmp byte [ebp + esi - 0x3c], 0
je 0x429397
mov esi, dword [eax*4 + 0x46d6d8]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d798]
cmp byte [ebp + esi - 0x3c], 0
je 0x4293ae
mov esi, dword [eax*4 + 0x46d6d8]
or dword [edx], esi
movzx esi, byte [eax + 0x46d781]
cmp byte [ebp + esi - 0x3c], 0
je 0x4293c5
mov esi, dword [eax*4 + 0x46d6dc]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d799]
cmp byte [ebp + esi - 0x3c], 0
je 0x4293dc
mov esi, dword [eax*4 + 0x46d6dc]
or dword [edx], esi
movzx esi, byte [eax + 0x46d782]
cmp byte [ebp + esi - 0x3c], 0
je 0x4293f3
mov esi, dword [eax*4 + 0x46d6e0]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d79a]
cmp byte [ebp + esi - 0x3c], 0
je 0x42940a
mov esi, dword [eax*4 + 0x46d6e0]
or dword [edx], esi
movzx esi, byte [eax + 0x46d783]
cmp byte [ebp + esi - 0x3c], 0
je 0x429421
mov esi, dword [eax*4 + 0x46d6e4]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d79b]
cmp byte [ebp + esi - 0x3c], 0
je 0x429438
mov esi, dword [eax*4 + 0x46d6e4]
or dword [edx], esi
movzx esi, byte [eax + 0x46d784]
cmp byte [ebp + esi - 0x3c], 0
je 0x42944f
mov esi, dword [eax*4 + 0x46d6e8]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d79c]
cmp byte [ebp + esi - 0x3c], 0
je 0x429466
mov esi, dword [eax*4 + 0x46d6e8]
or dword [edx], esi
movzx esi, byte [eax + 0x46d785]
cmp byte [ebp + esi - 0x3c], 0
je 0x42947d
mov esi, dword [eax*4 + 0x46d6ec]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d79d]
cmp byte [ebp + esi - 0x3c], 0
je 0x429494
mov esi, dword [eax*4 + 0x46d6ec]
or dword [edx], esi
add eax, 6
cmp eax, 0x18
jb 0x429380
mov ecx, dword [ebp - 0xf8]
inc ecx
mov dword [ebp - 0xf8], ecx
cmp ecx, 0x10
jb 0x4292a0
mov eax, dword [ebp - 0xfc]
push eax
lea ecx, [ebp - 0xf4]
call fcn.00428870
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043fe0a
mov esp, ebp
pop ebp
ret