Function at 0x42f1b0
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x45a024]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
push 0x1880
push 0
push esi
mov dword [ebp - 0x78], esi
call fcn.004212c0
add esp, 0xc
call fcn.0042f190
mov edx, dword [ebp + 0xc]
xor eax, eax
movsx ecx, byte [eax + str.91__]
dec ecx
mov esi, ecx
sar esi, 3
movsx esi, byte [esi + edx]
and ecx, 7
test dword [ecx*4 + 0x45b5d8], esi
setne cl
mov byte [ebp + eax - 0x74], cl
movsx ecx, byte [eax + 0x45b341]
dec ecx
mov esi, ecx
sar esi, 3
movsx esi, byte [esi + edx]
and ecx, 7
test dword [ecx*4 + 0x45b5d8], esi
setne cl
mov byte [ebp + eax - 0x73], cl
movsx ecx, byte [eax + 0x45b342]
dec ecx
mov esi, ecx
sar esi, 3
movsx esi, byte [esi + edx]
and ecx, 7
test dword [ecx*4 + 0x45b5d8], esi
setne cl
mov byte [ebp + eax - 0x72], cl
movsx ecx, byte [eax + 0x45b343]
dec ecx
mov esi, ecx
sar esi, 3
movsx esi, byte [esi + edx]
and ecx, 7
test dword [ecx*4 + 0x45b5d8], esi
setne cl
mov byte [ebp + eax - 0x71], cl
add eax, 4
cmp eax, 0x38
jl 0x42f1e6
xor esi, esi
lea esp, [esp]
movsx ecx, byte [esi + 0x45b378]
xor eax, eax
sub ecx, 0x1a
lea esp, [esp]
xor edx, edx
cmp eax, 0x1c
setge dl
lea edi, [ecx + 0x1a]
dec edx
and edx, 0xffffffe4
add edx, 0x38
cmp edi, edx
jl 0x42f2a9
lea edi, [ecx - 2]
mov dl, byte [ebp + edi - 0x74]
lea edi, [ebp - 0x3c]
mov byte [edi + eax], dl
xor edx, edx
cmp eax, 0x1b
setge dl
lea edi, [ecx + 0x1b]
dec edx
and edx, 0xffffffe4
add edx, 0x38
cmp edi, edx
jl 0x42f2cc
lea edi, [ecx - 1]
mov dl, byte [ebp + edi - 0x74]
xor ebx, ebx
mov byte [ebp + eax - 0x3b], dl
lea edx, [eax + 2]
cmp edx, 0x1c
setge bl
lea edi, [ecx + 0x1c]
dec ebx
and ebx, 0xffffffe4
add ebx, 0x38
cmp edi, ebx
jl 0x42f2ef
mov edi, ecx
mov dl, byte [ebp + edi - 0x74]
lea edi, [ebp - 0x3a]
mov byte [edi + eax], dl
xor edx, edx
cmp eax, 0x19
setge dl
lea edi, [ecx + 0x1d]
dec edx
and edx, 0xffffffe4
add edx, 0x38
cmp edi, edx
jl 0x42f312
lea edi, [ecx + 1]
mov dl, byte [ebp + edi - 0x74]
mov byte [ebp + eax - 0x39], dl
add eax, 4
add ecx, 4
cmp eax, 0x38
jl 0x42f290
xor ecx, ecx
mov dword [ebp - 0x84], 5
mov dword [ebp - 0x7c], 4
mov dword [ebp - 0x80], 3
mov dword [ebp - 0x88], 2
mov edi, 1
movsx eax, byte [edi + 0x45b387]
cmp byte [ebp + eax - 0x3d], 0
je 0x42f385
mov eax, 0xaaaaaaab
mul ecx
shr edx, 2
lea eax, [edx + esi*8]
add eax, dword [ebp - 0x78]
lea edx, [edx + edx*2]
add edx, edx
mov ebx, ecx
sub ebx, edx
mov edx, dword [ebx*4 + 0x45b5d8]
sar edx, 2
or byte [eax], dl
movsx eax, byte [edi + 0x45b388]
cmp byte [ebp + eax - 0x3d], 0
je 0x42f3b8
mov eax, 0xaaaaaaab
mul edi
shr edx, 2
lea eax, [edx + esi*8]
add eax, dword [ebp - 0x78]
lea edx, [edx + edx*2]
add edx, edx
mov ebx, ecx
sub ebx, edx
mov edx, dword [ebx*4 + 0x45b5dc]
sar edx, 2
or byte [eax], dl
mov edx, dword [ebp - 0x88]
movsx eax, byte [edx + 0x45b388]
cmp byte [ebp + eax - 0x3d], 0
je 0x42f3f1
mov eax, 0xaaaaaaab
mul edx
shr edx, 2
lea eax, [edx + esi*8]
add eax, dword [ebp - 0x78]
lea edx, [edx + edx*2]
add edx, edx
mov ebx, ecx
sub ebx, edx
mov edx, dword [ebx*4 + 0x45b5e0]
sar edx, 2
or byte [eax], dl
mov edx, dword [ebp - 0x80]
movsx eax, byte [edx + 0x45b388]
cmp byte [ebp + eax - 0x3d], 0
je 0x42f427
mov eax, 0xaaaaaaab
mul edx
shr edx, 2
lea eax, [edx + esi*8]
add eax, dword [ebp - 0x78]
lea edx, [edx + edx*2]
add edx, edx
mov ebx, ecx
sub ebx, edx
mov edx, dword [ebx*4 + 0x45b5e4]
sar edx, 2
or byte [eax], dl
mov edx, dword [ebp - 0x7c]
movsx eax, byte [edx + 0x45b388]
cmp byte [ebp + eax - 0x3d], 0
je 0x42f45d
mov eax, 0xaaaaaaab
mul edx
shr edx, 2
lea eax, [edx + esi*8]
add eax, dword [ebp - 0x78]
lea edx, [edx + edx*2]
add edx, edx
mov ebx, ecx
sub ebx, edx
mov edx, dword [ebx*4 + 0x45b5e8]
sar edx, 2
or byte [eax], dl
mov edx, dword [ebp - 0x84]
movsx eax, byte [edx + 0x45b388]
cmp byte [ebp + eax - 0x3d], 0
je 0x42f496
mov eax, 0xaaaaaaab
mul edx
shr edx, 2
lea eax, [edx + esi*8]
add eax, dword [ebp - 0x78]
lea edx, [edx + edx*2]
add edx, edx
mov ebx, ecx
sub ebx, edx
mov edx, dword [ebx*4 + 0x45b5ec]
sar edx, 2
or byte [eax], dl
mov eax, 6
add dword [ebp - 0x88], eax
add dword [ebp - 0x80], eax
add dword [ebp - 0x7c], eax
add dword [ebp - 0x84], eax
add edi, eax
add ecx, eax
cmp edi, 0x31
jl 0x42f352
inc esi
cmp esi, 0x10
jl 0x42f280
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.0041af7a
mov esp, ebp
pop ebp
ret