Function at 0x4062c0
Capabilities:
Encode data using xor
Encrypt data using des

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x70
mov eax, dword [0x5cb160]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [0x5d4998]
push esi
mov esi, dword [0x5d499c]
push edi
mov ecx, 0x5d4ea0
sub ecx, ebx
xor eax, eax
mov edi, esi
sub ebx, 0x5d4ea0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], ecx
sub edi, 0x5d4ea0
jmp 0x406309
mov esi, dword [0x5d499c]
mov eax, dword [ebp - 0x6c]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [ecx*8 + 0x5d4ae8]
push 0x38
push eax
push 0x5d4e68
call fcn.0053ff80
add esp, 0xc
xor eax, eax
jmp 0x406330
movzx edx, byte [eax + 0x5cca70]
movzx ecx, byte [edx + 0x5d4e67]
movzx edx, byte [eax + 0x5cca71]
mov byte [ebp + eax - 0x68], cl
movzx ecx, byte [edx + 0x5d4e67]
movzx edx, byte [eax + 0x5cca72]
mov byte [ebp + eax - 0x67], cl
movzx ecx, byte [edx + 0x5d4e67]
movzx edx, byte [eax + 0x5cca73]
mov byte [ebp + eax - 0x66], cl
movzx ecx, byte [edx + 0x5d4e67]
movzx edx, byte [eax + 0x5cca74]
mov byte [ebp + eax - 0x65], cl
movzx ecx, byte [edx + 0x5d4e67]
movzx edx, byte [eax + 0x5cca75]
mov byte [ebp + eax - 0x64], cl
movzx ecx, byte [edx + 0x5d4e67]
mov byte [ebp + eax - 0x63], cl
add eax, 6
cmp eax, 0x30
jl 0x406330
push 0x30
lea edx, [ebp - 0x68]
push edx
push 0x5d4e68
call fcn.0053ff80
add esp, 0xc
xor eax, eax
lea esp, [esp]
mov cl, byte [eax + ebx + 0x5d4ea0]
mov byte [eax + 0x5d4ea0], cl
inc eax
cmp eax, 0x20
jl 0x4063c0
xor eax, eax
jmp 0x4063e0
movzx edx, byte [eax + 0x5ccaa0]
movzx ecx, byte [edx + 0x5d4e9f]
movzx edx, byte [eax + 0x5ccaa1]
mov byte [ebp + eax - 0x68], cl
movzx ecx, byte [edx + 0x5d4e9f]
movzx edx, byte [eax + 0x5ccaa2]
mov byte [ebp + eax - 0x67], cl
movzx ecx, byte [edx + 0x5d4e9f]
movzx edx, byte [eax + 0x5ccaa3]
mov byte [ebp + eax - 0x66], cl
movzx ecx, byte [edx + 0x5d4e9f]
movzx edx, byte [eax + 0x5ccaa4]
mov byte [ebp + eax - 0x65], cl
movzx ecx, byte [edx + 0x5d4e9f]
movzx edx, byte [eax + 0x5ccaa5]
mov byte [ebp + eax - 0x64], cl
movzx ecx, byte [edx + 0x5d4e9f]
mov byte [ebp + eax - 0x63], cl
add eax, 6
cmp eax, 0x30
jl 0x4063e0
push 0x30
lea edx, [ebp - 0x68]
push edx
push 0x5d4ea0
call fcn.0053ff80
add esp, 0xc
xor eax, eax
lea esp, [esp]
movzx ecx, byte [eax + 0x5d4e68]
movzx edx, byte [eax + 0x5d4e69]
xor byte [eax + 0x5d4ea0], cl
xor byte [eax + 0x5d4ea1], dl
movzx ecx, byte [eax + 0x5d4e6a]
movzx edx, byte [eax + 0x5d4e6b]
xor byte [eax + 0x5d4ea2], cl
xor byte [eax + 0x5d4ea3], dl
movzx ecx, byte [eax + 0x5d4e6c]
movzx edx, byte [eax + 0x5d4e6d]
xor byte [eax + 0x5d4ea4], cl
xor byte [eax + 0x5d4ea5], dl
add eax, 6
cmp eax, 0x30
jl 0x406470
call fcn.004066d0
xor eax, eax
lea ecx, [ecx]
movzx ecx, byte [eax + 0x5ccce0]
movzx edx, byte [ecx + 0x5d4e9f]
movzx ecx, byte [eax + 0x5ccce1]
mov byte [ebp + eax - 0x68], dl
movzx edx, byte [ecx + 0x5d4e9f]
movzx ecx, byte [eax + 0x5ccce2]
mov byte [ebp + eax - 0x67], dl
movzx edx, byte [ecx + 0x5d4e9f]
movzx ecx, byte [eax + 0x5ccce3]
mov byte [ebp + eax - 0x66], dl
movzx edx, byte [ecx + 0x5d4e9f]
mov byte [ebp + eax - 0x65], dl
add eax, 4
cmp eax, 0x20
jl 0x4064d0
push 0x20
lea eax, [ebp - 0x68]
push eax
push 0x5d4ea0
call fcn.0053ff80
add esp, 0xc
xor eax, eax
jmp 0x406540
movzx ecx, byte [edi + eax + 0x5d4ea0]
xor byte [eax + 0x5d4ea0], cl
movzx edx, byte [esi + eax + 1]
xor byte [eax + 0x5d4ea1], dl
movzx ecx, byte [esi + eax + 2]
xor byte [eax + 0x5d4ea2], cl
movzx edx, byte [esi + eax + 3]
xor byte [eax + 0x5d4ea3], dl
add eax, 4
cmp eax, 0x20
jl 0x406540
mov eax, dword [0x5d4998]
mov esi, 0x20
mov ecx, dword [ebp - 0x70]
mov dl, byte [eax]
add ecx, eax
mov byte [ecx + edi], dl
mov cl, byte [ecx]
mov byte [eax], cl
inc eax
dec esi
jne 0x406581
mov esi, dword [ebp - 0x6c]
cmp esi, 0xf
jne 0x4065d0
xor eax, eax
lea ecx, [ecx]
movzx edx, byte [eax + ebx + 0x5d4ea0]
mov byte [eax + 0x5d4ea0], dl
mov cl, byte [eax + edi + 0x5d4ea0]
mov byte [eax + ebx + 0x5d4ea0], cl
movzx edx, byte [eax + 0x5d4ea0]
mov byte [eax + edi + 0x5d4ea0], dl
inc eax
cmp eax, 0x20
jl 0x4065a0
inc esi
mov dword [ebp - 0x6c], esi
cmp esi, 0x10
jl 0x406300
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0053866d
mov esp, ebp
pop ebp
ret