Function at 0x423a50
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
mov eax, dword [0x4745a8]
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 + 0x466e18]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x466e99]
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 + 0x466e18]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x466e9a]
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 + 0x466e18]
and ecx, edx
cmp ecx, edx
movzx ecx, byte [eax + 0x466e9b]
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 + 0x466e18]
and ecx, edx
cmp ecx, edx
sete dl
mov byte [ebp + eax - 0x71], dl
add eax, 4
cmp eax, 0x38
jb 0x423a74
xor ecx, ecx
mov dword [ebp - 0xf8], ecx
lea esp, [esp]
cmp word [ebp + 0xc], 1
jne 0x423b32
mov eax, 0xf
sub eax, ecx
add eax, eax
jmp 0x423b35
lea eax, [ecx + ecx]
movzx edi, byte [ecx + 0x466ed0]
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 0x423b72
mov bl, byte [ebp + ecx - 0x76]
jmp 0x423b79
mov bl, byte [ebp + esi - 0x93]
mov byte [ebp + eax - 0x3c], bl
lea ebx, [esi - 2]
cmp ebx, 0x1c
jae 0x423b8b
mov bl, byte [ebp + ecx - 0x75]
jmp 0x423b92
mov bl, byte [ebp + esi - 0x92]
mov byte [ebp + eax - 0x3b], bl
cmp ecx, 0x1c
jae 0x423ba1
mov bl, byte [ebp + ecx - 0x74]
jmp 0x423ba8
mov bl, byte [ebp + ecx - 0x90]
mov byte [ebp + eax - 0x3a], bl
cmp esi, 0x1c
jae 0x423bb7
mov bl, byte [ebp + ecx - 0x73]
jmp 0x423bbe
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 0x423b64
cmp eax, 0x38
jae 0x423bf5
lea ecx, [edi + eax]
cmp ecx, 0x38
jae 0x423be3
mov bl, byte [ebp + ecx - 0x74]
jmp 0x423bea
mov bl, byte [ebp + ecx - 0x90]
mov byte [ebp + eax - 0x3c], bl
inc eax
inc ecx
cmp eax, 0x38
jb 0x423bd8
mov ecx, dword [ebp - 0x100]
xor eax, eax
lea ecx, [ecx]
movzx esi, byte [eax + 0x466ee0]
cmp byte [ebp + esi - 0x3c], 0
je 0x423c17
mov esi, dword [eax*4 + 0x466e38]
or dword [ecx], esi
movzx esi, byte [eax + 0x466ef8]
cmp byte [ebp + esi - 0x3c], 0
je 0x423c2e
mov esi, dword [eax*4 + 0x466e38]
or dword [edx], esi
movzx esi, byte [eax + 0x466ee1]
cmp byte [ebp + esi - 0x3c], 0
je 0x423c45
mov esi, dword [eax*4 + 0x466e3c]
or dword [ecx], esi
movzx esi, byte [eax + 0x466ef9]
cmp byte [ebp + esi - 0x3c], 0
je 0x423c5c
mov esi, dword [eax*4 + 0x466e3c]
or dword [edx], esi
movzx esi, byte [eax + 0x466ee2]
cmp byte [ebp + esi - 0x3c], 0
je 0x423c73
mov esi, dword [eax*4 + 0x466e40]
or dword [ecx], esi
movzx esi, byte [eax + 0x466efa]
cmp byte [ebp + esi - 0x3c], 0
je 0x423c8a
mov esi, dword [eax*4 + 0x466e40]
or dword [edx], esi
movzx esi, byte [eax + 0x466ee3]
cmp byte [ebp + esi - 0x3c], 0
je 0x423ca1
mov esi, dword [eax*4 + 0x466e44]
or dword [ecx], esi
movzx esi, byte [eax + 0x466efb]
cmp byte [ebp + esi - 0x3c], 0
je 0x423cb8
mov esi, dword [eax*4 + 0x466e44]
or dword [edx], esi
movzx esi, byte [eax + 0x466ee4]
cmp byte [ebp + esi - 0x3c], 0
je 0x423ccf
mov esi, dword [eax*4 + 0x466e48]
or dword [ecx], esi
movzx esi, byte [eax + 0x466efc]
cmp byte [ebp + esi - 0x3c], 0
je 0x423ce6
mov esi, dword [eax*4 + 0x466e48]
or dword [edx], esi
movzx esi, byte [eax + 0x466ee5]
cmp byte [ebp + esi - 0x3c], 0
je 0x423cfd
mov esi, dword [eax*4 + 0x466e4c]
or dword [ecx], esi
movzx esi, byte [eax + 0x466efd]
cmp byte [ebp + esi - 0x3c], 0
je 0x423d14
mov esi, dword [eax*4 + 0x466e4c]
or dword [edx], esi
add eax, 6
cmp eax, 0x18
jb 0x423c00
mov ecx, dword [ebp - 0xf8]
inc ecx
mov dword [ebp - 0xf8], ecx
cmp ecx, 0x10
jb 0x423b20
mov eax, dword [ebp - 0xfc]
push eax
lea ecx, [ebp - 0xf4]
call fcn.004230f0
mov ecx, dword [ebp - 4]
add esp, 4
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00439bf4
mov esp, ebp
pop ebp
ret