Function at 0x6a7e00
Capabilities:
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5c
mov eax, dword [0x82aea4]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
movzx ecx, byte [eax + 0x7741c0]
mov byte [ecx + 0x8672d0], al
inc eax
cmp eax, 0x40
jl 0x6a7e12
push ebx
push esi
push edi
push 0x40
push 0
push 0x867b90
call sub.MSVCR100.dll_memset
add esp, 0xc
xor esi, esi
jmp 0x6a7e40
movzx ecx, byte [esi + 0x773f20]
test ecx, ecx
je 0x6a7e96
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
add edx, edx
add edx, edx
mov eax, ecx
sub eax, edx
cmp eax, 1
jge 0x6a7e77
sub ecx, 0x1c
movzx eax, byte [ecx + str.91__]
test eax, eax
jle 0x6a7e90
dec eax
mov ecx, eax
and eax, 7
or ecx, 7
sub ecx, eax
lea eax, [ecx + 1]
mov byte [esi + 0x867b90], al
inc esi
cmp esi, 0x40
jl 0x6a7e40
push 0x867b90
push 0x866ad0
mov eax, 8
call fcn.006a7d80
add esp, 8
xor edi, edi
mov ebx, 0x8656d0
lea ebx, [ebx]
push 0x40
push 0
push 0x867b90
call sub.MSVCR100.dll_memset
push 0x40
lea edx, [ebp - 0x44]
push 0
push edx
call sub.MSVCR100.dll_memset
add esp, 0x18
xor eax, eax
movzx ecx, byte [eax + 0x773f20]
test ecx, ecx
je 0x6a7ef2
lea edx, [eax + 1]
mov byte [ebp + ecx - 0x45], dl
inc eax
cmp eax, 0x40
jl 0x6a7ee0
xor esi, esi
lea ebx, [ebx]
movzx ecx, byte [esi + 0x773f20]
test ecx, ecx
je 0x6a7f42
add ecx, edi
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
add edx, edx
add edx, edx
mov eax, ecx
sub eax, edx
cmp eax, edi
jg 0x6a7f38
sub ecx, 0x1c
mov cl, byte [ebp + ecx - 0x44]
mov byte [esi + 0x867b90], cl
inc esi
cmp esi, 0x40
jl 0x6a7f00
push 0x867b90
push ebx
mov eax, 8
call fcn.006a7d80
add ebx, 0x800
add esp, 8
inc edi
cmp ebx, 0x8666d0
jl 0x6a7ec0
mov edi, 0x773ea8
mov esi, 0x867b91
dec edi
lea esp, [esp]
xor ecx, ecx
cmp ecx, 2
jge 0x6a7f8b
xor eax, eax
jmp 0x6a7fb8
movzx edx, byte [edi + ecx - 1]
movzx eax, byte [edx + 0x773e67]
cmp eax, 0x20
jle 0x6a7fa1
sub eax, 0x20
jmp 0x6a7fa6
test eax, eax
jle 0x6a7fb8
dec eax
test eax, eax
jle 0x6a7fb8
dec eax
mov edx, eax
and eax, 7
or edx, 7
sub edx, eax
lea eax, [edx + 1]
lea edx, [ecx + 2]
mov byte [esi + ecx - 1], al
lea eax, [edx - 1]
cmp eax, 2
jge 0x6a7fcb
xor eax, eax
jmp 0x6a7ff7
movzx eax, byte [edi + ecx]
movzx eax, byte [eax + 0x773e67]
cmp eax, 0x20
jle 0x6a7fe0
sub eax, 0x20
jmp 0x6a7fe5
test eax, eax
jle 0x6a7ff7
dec eax
test eax, eax
jle 0x6a7ff7
dec eax
mov ebx, eax
and eax, 7
or ebx, 7
sub ebx, eax
lea eax, [ebx + 1]
mov byte [esi + ecx], al
cmp edx, 2
jge 0x6a8003
xor eax, eax
jmp 0x6a8030
movzx eax, byte [edi + ecx + 1]
movzx eax, byte [eax + 0x773e67]
cmp eax, 0x20
jle 0x6a8019
sub eax, 0x20
jmp 0x6a801e
test eax, eax
jle 0x6a8030
dec eax
test eax, eax
jle 0x6a8030
dec eax
mov ebx, eax
and eax, 7
or ebx, 7
sub ebx, eax
lea eax, [ebx + 1]
inc edx
mov byte [esi + ecx + 1], al
cmp edx, 2
jge 0x6a803e
xor eax, eax
jmp 0x6a806b
movzx edx, byte [edi + ecx + 2]
movzx eax, byte [edx + 0x773e67]
cmp eax, 0x20
jle 0x6a8054
sub eax, 0x20
jmp 0x6a8059
test eax, eax
jle 0x6a806b
dec eax
test eax, eax
jle 0x6a806b
dec eax
mov edx, eax
and eax, 7
or edx, 7
sub edx, eax
lea eax, [edx + 1]
mov byte [esi + ecx + 2], al
add ecx, 4
cmp ecx, 8
jl 0x6a7f82
add edi, 6
add esi, 8
cmp edi, 0x773ed7
jl 0x6a7f80
push 0x867b90
push 0x8666d0
mov eax, 8
call fcn.006a7d80
add esp, 8
xor ecx, ecx
mov esi, 0x867b90
jmp 0x6a80b0
movzx eax, byte [ecx + 0x774180]
movzx eax, byte [eax + 0x773e67]
test eax, eax
jle 0x6a80d0
dec eax
mov edx, eax
and eax, 7
or edx, 7
sub edx, eax
lea eax, [edx + 1]
lea edx, [ecx + 1]
inc ecx
mov byte [esi + eax - 1], dl
cmp ecx, 0x40
jl 0x6a80b0
push 0x867b90
push 0x867378
mov eax, 8
call fcn.006a7d80
add esp, 8
xor eax, eax
jmp 0x6a8100
movzx ecx, byte [eax + 0x773ea8]
mov dl, byte [ecx + 0x77415f]
mov byte [eax + 0x867b90], dl
inc eax
cmp eax, 0x30
jl 0x6a8100
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0x867358
mov ebx, 0x864ed0
lea esp, [esp]
xor esi, esi
mov eax, esi
sar eax, 2
and eax, 4
mov ecx, esi
and ecx, 8
or eax, ecx
sar eax, 1
mov ecx, esi
and ecx, 1
add ecx, ecx
add ecx, ecx
add ecx, ecx
mov edx, esi
and edx, 0x20
or eax, edx
mov edx, esi
and edx, 2
or ecx, edx
mov edx, dword [ebp - 0x48]
add ecx, ecx
add ecx, ecx
sar eax, 1
or eax, ecx
mov ecx, esi
and ecx, 4
or eax, ecx
movzx eax, byte [eax + edx + 0x773f60]
mov edx, eax
sar edx, 2
mov ecx, eax
and ecx, 4
and edx, 2
or edx, ecx
mov ecx, eax
and ecx, 1
add ecx, ecx
add ecx, ecx
and eax, 2
or ecx, eax
xor eax, eax
sar edx, 1
add ecx, ecx
or edx, ecx
mov dword [0x867358], eax
mov dword [0x86735c], eax
mov dword [0x867360], eax
mov dword [0x867364], eax
mov dword [0x867368], eax
mov dword [0x86736c], eax
mov dword [0x867370], eax
mov dword [0x867374], eax
xor edi, edi
mov ecx, edi
mov eax, edx
sar eax, cl
mov ecx, dword [ebp - 0x4c]
inc edi
and al, 1
mov byte [ecx + edi - 1], al
cmp edi, 4
jl 0x6a81c5
xor eax, eax
mov ecx, 0x17
jmp 0x6a81f0
movzx edx, byte [ecx + 0x867b90]
movzx edx, byte [edx + 0x867357]
add eax, eax
or eax, edx
dec ecx
jns 0x6a81f0
mov byte [ebp - 0x54], al
sar eax, 6
mov byte [ebp - 0x53], al
sar eax, 6
mov byte [ebp - 0x52], al
sar eax, 6
mov byte [ebp - 0x51], al
mov ecx, dword [ebp - 0x54]
and ecx, 0xff3f3f3f
add ecx, ecx
add ecx, ecx
mov dword [ebx - 0x800], ecx
xor eax, eax
mov ecx, 0x17
jmp 0x6a8240
movzx edx, byte [ecx + 0x867ba8]
movzx edx, byte [edx + 0x867357]
add eax, eax
or eax, edx
dec ecx
jns 0x6a8240
mov byte [ebp - 0x5c], al
sar eax, 6
mov byte [ebp - 0x5b], al
sar eax, 6
mov byte [ebp - 0x5a], al
sar eax, 6
mov byte [ebp - 0x59], al
mov ecx, dword [ebp - 0x5c]
and ecx, 0xff3f3f3f
add ecx, ecx
add ecx, ecx
mov dword [ebx], ecx
inc esi
add ebx, 4
cmp esi, 0x40
jl 0x6a8132
add dword [ebp - 0x4c], 4
add dword [ebp - 0x48], 0x40
cmp ebx, 0x8656d0
jl 0x6a8130
pop edi
mov dword [0x867c50], 1
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.006a8ca2
mov esp, ebp
pop ebp
ret