Function at 0x427e80
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x100
mov eax, dword [0x45e200]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
xor eax, eax
lea ebx, [ebx]
movzx ecx, byte [eax + 0x45f818]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x45f7a8], dl
setne cl
mov byte [ebp + eax - 0x74], cl
movzx ecx, byte [eax + 0x45f819]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x45f7a8], dl
setne cl
mov byte [ebp + eax - 0x73], cl
movzx ecx, byte [eax + 0x45f81a]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x45f7a8], dl
setne cl
mov byte [ebp + eax - 0x72], cl
movzx ecx, byte [eax + 0x45f81b]
mov edx, ecx
sar edx, 3
movzx edx, byte [edx + esi]
and ecx, 7
test byte [ecx*2 + 0x45f7a8], dl
setne cl
mov byte [ebp + eax - 0x71], cl
add eax, 4
cmp eax, 0x38
jl 0x427ea0
xor ecx, ecx
mov dword [ebp - 0x78], ecx
jmp 0x427f43
mov ecx, dword [ebp - 0x78]
movzx ebx, byte [ecx + 0x45f850]
lea eax, [ecx + ecx]
lea edx, [ebp + eax*4 - 0xfc]
lea eax, [ebp + eax*4 - 0x100]
mov dword [edx], 0
mov dword [ebp - 0x80], eax
mov dword [eax], 0
mov dword [ebp - 0x7c], edx
xor esi, esi
lea ecx, [ebx + 3]
lea eax, [ebx + 2]
lea edi, [ecx - 3]
cmp edi, 0x1c
jge 0x427f83
mov dl, byte [ebp + eax - 0x76]
jmp 0x427f8a
mov dl, byte [ebp + edi - 0x90]
lea edi, [ecx - 2]
cmp edi, 0x1c
mov byte [ebp + esi - 0x3c], dl
jge 0x427f9c
mov dl, byte [ebp + eax - 0x75]
jmp 0x427fa3
mov dl, byte [ebp + edi - 0x90]
cmp eax, 0x1c
mov byte [ebp + esi - 0x3b], dl
jge 0x427fb2
mov dl, byte [ebp + eax - 0x74]
jmp 0x427fb9
mov dl, byte [ebp + eax - 0x90]
cmp ecx, 0x1c
mov byte [ebp + esi - 0x3a], dl
jge 0x427fc8
mov dl, byte [ebp + eax - 0x73]
jmp 0x427fcf
mov dl, byte [ebp + ecx - 0x90]
mov byte [ebp + esi - 0x39], dl
add esi, 4
add eax, 4
add ecx, 4
cmp esi, 0x1c
jl 0x427f75
mov edi, 0x1c
lea edx, [ebx + 0x1f]
lea eax, [ebx + 0x1e]
lea esp, [esp]
lea ecx, [edx - 3]
cmp ecx, 0x38
jge 0x427ffe
mov cl, byte [ebp + eax - 0x76]
jmp 0x428005
mov cl, byte [ebp + ecx - 0x90]
lea esi, [edx - 2]
cmp esi, 0x38
mov byte [ebp + edi - 0x3c], cl
jge 0x428017
mov cl, byte [ebp + eax - 0x75]
jmp 0x42801e
mov cl, byte [ebp + esi - 0x90]
cmp eax, 0x38
mov byte [ebp + edi - 0x3b], cl
jge 0x42802d
mov cl, byte [ebp + eax - 0x74]
jmp 0x428034
mov cl, byte [ebp + eax - 0x90]
cmp edx, 0x38
mov byte [ebp + edi - 0x3a], cl
jge 0x428043
mov cl, byte [ebp + eax - 0x73]
jmp 0x42804a
mov cl, byte [ebp + edx - 0x90]
mov byte [ebp + edi - 0x39], cl
add edi, 4
add eax, 4
add edx, 4
cmp edi, 0x38
jl 0x427ff0
xor eax, eax
mov edi, edi
movzx edx, byte [eax + 0x45f860]
cmp byte [ebp + edx - 0x3c], 0
mov edx, dword [ebp - 0x80]
je 0x42807a
mov ecx, dword [eax*4 + 0x45f7b8]
or dword [edx], ecx
movzx ecx, byte [eax + 0x45f878]
cmp byte [ebp + ecx - 0x3c], 0
mov ecx, dword [ebp - 0x7c]
je 0x428094
mov esi, dword [eax*4 + 0x45f7b8]
or dword [ecx], esi
movzx esi, byte [eax + 0x45f861]
cmp byte [ebp + esi - 0x3c], 0
je 0x4280ab
mov esi, dword [eax*4 + 0x45f7bc]
or dword [edx], esi
movzx esi, byte [eax + 0x45f879]
cmp byte [ebp + esi - 0x3c], 0
je 0x4280c2
mov esi, dword [eax*4 + 0x45f7bc]
or dword [ecx], esi
movzx esi, byte [eax + 0x45f862]
cmp byte [ebp + esi - 0x3c], 0
je 0x4280d9
mov esi, dword [eax*4 + 0x45f7c0]
or dword [edx], esi
movzx esi, byte [eax + 0x45f87a]
cmp byte [ebp + esi - 0x3c], 0
je 0x4280f0
mov esi, dword [eax*4 + 0x45f7c0]
or dword [ecx], esi
movzx esi, byte [eax + 0x45f863]
cmp byte [ebp + esi - 0x3c], 0
je 0x428107
mov esi, dword [eax*4 + 0x45f7c4]
or dword [edx], esi
movzx esi, byte [eax + 0x45f87b]
cmp byte [ebp + esi - 0x3c], 0
je 0x42811e
mov esi, dword [eax*4 + 0x45f7c4]
or dword [ecx], esi
movzx esi, byte [eax + 0x45f864]
cmp byte [ebp + esi - 0x3c], 0
je 0x428135
mov esi, dword [eax*4 + 0x45f7c8]
or dword [edx], esi
movzx esi, byte [eax + 0x45f87c]
cmp byte [ebp + esi - 0x3c], 0
je 0x42814c
mov esi, dword [eax*4 + 0x45f7c8]
or dword [ecx], esi
movzx esi, byte [eax + 0x45f865]
cmp byte [ebp + esi - 0x3c], 0
je 0x428163
mov esi, dword [eax*4 + 0x45f7cc]
or dword [edx], esi
movzx edx, byte [eax + 0x45f87d]
cmp byte [ebp + edx - 0x3c], 0
je 0x42817a
mov edx, dword [eax*4 + 0x45f7cc]
or dword [ecx], edx
add eax, 6
cmp eax, 0x18
jl 0x428060
mov eax, dword [ebp - 0x78]
inc eax
cmp eax, 0x10
mov dword [ebp - 0x78], eax
jl 0x427f40
lea ecx, [ebp - 0x100]
call fcn.004281c0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043270e
mov esp, ebp
pop ebp
ret