Function at 0x429220
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 + 0x46d6c8]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x46d749]
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 + 0x46d6c8]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x46d74a]
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 + 0x46d6c8]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x46d74b]
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 + 0x46d6c8]
and ecx, edx
cmp ecx, edx
sete dl
mov byte [ebp + eax - 0x71], dl
add eax, 4
cmp eax, 0x38
jb 0x429244
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
lea esp, [esp]
cmp word [ebp + 0xc], 1
jne 0x429302
mov eax, 0xf
sub eax, ecx
add eax, eax
jmp 0x429305
lea eax, [ecx + ecx]
movzx edi, byte [ecx + 0x46d780]
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 0x429342
mov bl, byte [ebp + ecx - 0x76]
jmp 0x429349
mov bl, byte [ebp + esi - 0x93]
mov byte [ebp + eax - 0x3c], bl
lea ebx, [esi - 2]
cmp ebx, 0x1c
jae 0x42935b
mov bl, byte [ebp + ecx - 0x75]
jmp 0x429362
mov bl, byte [ebp + esi - 0x92]
mov byte [ebp + eax - 0x3b], bl
cmp ecx, 0x1c
jae 0x429371
mov bl, byte [ebp + ecx - 0x74]
jmp 0x429378
mov bl, byte [ebp + ecx - 0x90]
mov byte [ebp + eax - 0x3a], bl
cmp esi, 0x1c
jae 0x429387
mov bl, byte [ebp + ecx - 0x73]
jmp 0x42938e
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 0x429334
cmp eax, 0x38
jae 0x4293c5
lea ecx, [edi + eax]
cmp ecx, 0x38
jae 0x4293b3
mov bl, byte [ebp + ecx - 0x74]
jmp 0x4293ba
mov bl, byte [ebp + ecx - 0x90]
mov byte [ebp + eax - 0x3c], bl
inc eax
inc ecx
cmp eax, 0x38
jb 0x4293a8
mov ecx, dword [ebp - 0x100]
xor eax, eax
lea ecx, [ecx]
movzx esi, byte [eax + 0x46d790]
cmp byte [ebp + esi - 0x3c], 0
je 0x4293e7
mov esi, dword [eax*4 + 0x46d6e8]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d7a8]
cmp byte [ebp + esi - 0x3c], 0
je 0x4293fe
mov esi, dword [eax*4 + 0x46d6e8]
or dword [edx], esi
movzx esi, byte [eax + 0x46d791]
cmp byte [ebp + esi - 0x3c], 0
je 0x429415
mov esi, dword [eax*4 + 0x46d6ec]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d7a9]
cmp byte [ebp + esi - 0x3c], 0
je 0x42942c
mov esi, dword [eax*4 + 0x46d6ec]
or dword [edx], esi
movzx esi, byte [eax + 0x46d792]
cmp byte [ebp + esi - 0x3c], 0
je 0x429443
mov esi, dword [eax*4 + 0x46d6f0]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d7aa]
cmp byte [ebp + esi - 0x3c], 0
je 0x42945a
mov esi, dword [eax*4 + 0x46d6f0]
or dword [edx], esi
movzx esi, byte [eax + 0x46d793]
cmp byte [ebp + esi - 0x3c], 0
je 0x429471
mov esi, dword [eax*4 + 0x46d6f4]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d7ab]
cmp byte [ebp + esi - 0x3c], 0
je 0x429488
mov esi, dword [eax*4 + 0x46d6f4]
or dword [edx], esi
movzx esi, byte [eax + 0x46d794]
cmp byte [ebp + esi - 0x3c], 0
je 0x42949f
mov esi, dword [eax*4 + 0x46d6f8]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d7ac]
cmp byte [ebp + esi - 0x3c], 0
je 0x4294b6
mov esi, dword [eax*4 + 0x46d6f8]
or dword [edx], esi
movzx esi, byte [eax + 0x46d795]
cmp byte [ebp + esi - 0x3c], 0
je 0x4294cd
mov esi, dword [eax*4 + 0x46d6fc]
or dword [ecx], esi
movzx esi, byte [eax + 0x46d7ad]
cmp byte [ebp + esi - 0x3c], 0
je 0x4294e4
mov esi, dword [eax*4 + 0x46d6fc]
or dword [edx], esi
add eax, 6
cmp eax, 0x18
jb 0x4293d0
mov ecx, dword [ebp - 0xf8]
inc ecx
mov dword [ebp - 0xf8], ecx
cmp ecx, 0x10
jb 0x4292f0
mov eax, dword [ebp - 0xfc]
push eax
lea ecx, [ebp - 0xf4]
call fcn.004288c0
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043fe5a
mov esp, ebp
pop ebp
ret