Function at 0x423700
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
mov eax, dword [0x4735a8]
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 + 0x465d70]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x465df1]
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 + 0x465d70]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x465df2]
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 + 0x465d70]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x465df3]
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 + 0x465d70]
and ecx, edx
cmp ecx, edx
sete dl
mov byte [ebp + eax - 0x71], dl
add eax, 4
cmp eax, 0x38
jb 0x423724
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
lea esp, [esp]
cmp word [ebp + 0xc], 1
jne 0x4237e2
mov eax, 0xf
sub eax, ecx
add eax, eax
jmp 0x4237e5
lea eax, [ecx + ecx]
movzx edi, byte [ecx + 0x465e28]
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 0x423822
mov bl, byte [ebp + ecx - 0x76]
jmp 0x423829
mov bl, byte [ebp + esi - 0x93]
mov byte [ebp + eax - 0x3c], bl
lea ebx, [esi - 2]
cmp ebx, 0x1c
jae 0x42383b
mov bl, byte [ebp + ecx - 0x75]
jmp 0x423842
mov bl, byte [ebp + esi - 0x92]
mov byte [ebp + eax - 0x3b], bl
cmp ecx, 0x1c
jae 0x423851
mov bl, byte [ebp + ecx - 0x74]
jmp 0x423858
mov bl, byte [ebp + ecx - 0x90]
mov byte [ebp + eax - 0x3a], bl
cmp esi, 0x1c
jae 0x423867
mov bl, byte [ebp + ecx - 0x73]
jmp 0x42386e
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 0x423814
cmp eax, 0x38
jae 0x4238a5
lea ecx, [edi + eax]
cmp ecx, 0x38
jae 0x423893
mov bl, byte [ebp + ecx - 0x74]
jmp 0x42389a
mov bl, byte [ebp + ecx - 0x90]
mov byte [ebp + eax - 0x3c], bl
inc eax
inc ecx
cmp eax, 0x38
jb 0x423888
mov ecx, dword [ebp - 0x100]
xor eax, eax
lea ecx, [ecx]
movzx esi, byte [eax + 0x465e38]
cmp byte [ebp + esi - 0x3c], 0
je 0x4238c7
mov esi, dword [eax*4 + 0x465d90]
or dword [ecx], esi
movzx esi, byte [eax + 0x465e50]
cmp byte [ebp + esi - 0x3c], 0
je 0x4238de
mov esi, dword [eax*4 + 0x465d90]
or dword [edx], esi
movzx esi, byte [eax + 0x465e39]
cmp byte [ebp + esi - 0x3c], 0
je 0x4238f5
mov esi, dword [eax*4 + 0x465d94]
or dword [ecx], esi
movzx esi, byte [eax + 0x465e51]
cmp byte [ebp + esi - 0x3c], 0
je 0x42390c
mov esi, dword [eax*4 + 0x465d94]
or dword [edx], esi
movzx esi, byte [eax + 0x465e3a]
cmp byte [ebp + esi - 0x3c], 0
je 0x423923
mov esi, dword [eax*4 + 0x465d98]
or dword [ecx], esi
movzx esi, byte [eax + 0x465e52]
cmp byte [ebp + esi - 0x3c], 0
je 0x42393a
mov esi, dword [eax*4 + 0x465d98]
or dword [edx], esi
movzx esi, byte [eax + 0x465e3b]
cmp byte [ebp + esi - 0x3c], 0
je 0x423951
mov esi, dword [eax*4 + 0x465d9c]
or dword [ecx], esi
movzx esi, byte [eax + 0x465e53]
cmp byte [ebp + esi - 0x3c], 0
je 0x423968
mov esi, dword [eax*4 + 0x465d9c]
or dword [edx], esi
movzx esi, byte [eax + 0x465e3c]
cmp byte [ebp + esi - 0x3c], 0
je 0x42397f
mov esi, dword [eax*4 + 0x465da0]
or dword [ecx], esi
movzx esi, byte [eax + 0x465e54]
cmp byte [ebp + esi - 0x3c], 0
je 0x423996
mov esi, dword [eax*4 + 0x465da0]
or dword [edx], esi
movzx esi, byte [eax + 0x465e3d]
cmp byte [ebp + esi - 0x3c], 0
je 0x4239ad
mov esi, dword [eax*4 + 0x465da4]
or dword [ecx], esi
movzx esi, byte [eax + 0x465e55]
cmp byte [ebp + esi - 0x3c], 0
je 0x4239c4
mov esi, dword [eax*4 + 0x465da4]
or dword [edx], esi
add eax, 6
cmp eax, 0x18
jb 0x4238b0
mov ecx, dword [ebp - 0xf8]
inc ecx
mov dword [ebp - 0xf8], ecx
cmp ecx, 0x10
jb 0x4237d0
mov eax, dword [ebp - 0xfc]
push eax
lea ecx, [ebp - 0xf4]
call fcn.00422da0
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004396d4
mov esp, ebp
pop ebp
ret