Function at 0x468610
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc20
mov eax, dword [0x4fc040]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0xc1c], ecx
mov ecx, dword [ebp + 8]
push ebx
push esi
lea esi, [edx + 6]
mov dword [ebp - 0xc18], 0
lea eax, [ecx + 5]
mov dword [ebp - 0xc10], esi
sub ecx, edx
mov dword [ebp - 0xc14], eax
push edi
mov dword [ebp + 8], ecx
movzx eax, byte [eax + 2]
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [ecx + esi]
mov ecx, dword [ebp - 0xc14]
shld ebx, edi, 8
cdq
or ebx, edx
shl edi, 8
or edi, eax
movzx eax, byte [ecx]
shld ebx, edi, 8
cdq
or ebx, edx
shl edi, 8
or edi, eax
movzx eax, byte [ecx - 1]
cdq
shld ebx, edi, 8
or ebx, edx
shl edi, 8
or edi, eax
movzx eax, byte [ecx - 2]
cdq
shld ebx, edi, 8
or ebx, edx
shl edi, 8
or edi, eax
movzx eax, byte [ecx - 3]
cdq
shld ebx, edi, 8
or ebx, edx
shl edi, 8
or edi, eax
movzx eax, byte [ecx - 4]
cdq
shld ebx, edi, 8
or ebx, edx
shl edi, 8
or edi, eax
movzx eax, byte [ecx - 5]
cdq
shld ebx, edi, 8
shl edi, 8
or ebx, edx
or edi, eax
movzx eax, byte [esi + 1]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0xc10]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc10]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax - 1]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc10]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax - 2]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc10]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax - 3]
cdq
or ecx, eax
or esi, edx
shld esi, ecx, 8
shl ecx, 8
mov eax, dword [ebp - 0xc10]
movzx eax, byte [eax - 4]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc10]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax - 5]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc10]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax - 6]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc14]
xor edi, ecx
mov ecx, dword [ebp - 0xc18]
xor ebx, esi
mov esi, dword [ebp - 0xc10]
add eax, 8
add esi, 8
mov dword [ebp - 0xc14], eax
mov dword [ebp - 0xc10], esi
mov dword [ebp + ecx*8 - 0x40c], edi
mov dword [ebp + ecx*8 - 0x408], ebx
inc ecx
mov dword [ebp - 0xc18], ecx
cmp ecx, 0x80
mov ecx, dword [ebp + 8]
jb 0x468650
xor esi, esi
nop
lea eax, [ebp - 0x40c]
mov edx, 2
add eax, esi
lea ecx, [ebp - 0xc0c]
push 2
push eax
add ecx, esi
call fcn.00468400
sub esi, 0xffffff80
add esp, 8
cmp esi, 0x400
jb 0x4687c0
xor esi, esi
nop dword [eax]
lea eax, [ebp - 0xc0c]
mov edx, 0x10
add eax, esi
lea ecx, [ebp - 0x80c]
push 0x10
push eax
add ecx, esi
call fcn.00468400
add esi, 0x10
add esp, 8
cmp esi, 0x80
jb 0x4687f0
mov ecx, dword [ebp - 0xc1c]
add ecx, 2
xor edi, edi
movzx eax, byte [ecx + 5]
lea ecx, [ecx + 8]
cdq
mov ebx, eax
mov esi, edx
movzx eax, byte [ecx - 4]
shld esi, ebx, 8
cdq
shl ebx, 8
or esi, edx
or ebx, eax
movzx eax, byte [ecx - 5]
shld esi, ebx, 8
cdq
shl ebx, 8
or esi, edx
or ebx, eax
movzx eax, byte [ecx - 6]
shld esi, ebx, 8
cdq
shl ebx, 8
or esi, edx
or ebx, eax
movzx eax, byte [ecx - 7]
shld esi, ebx, 8
cdq
shl ebx, 8
or esi, edx
or ebx, eax
movzx eax, byte [ecx - 8]
cdq
shld esi, ebx, 8
shl ebx, 8
or esi, edx
or ebx, eax
movzx eax, byte [ecx - 9]
cdq
shld esi, ebx, 8
shl ebx, 8
or esi, edx
or ebx, eax
movzx eax, byte [ecx - 0xa]
cdq
shld esi, ebx, 8
shl ebx, 8
or ebx, eax
mov dword [ebp - 0xc10], esi
xor ebx, dword [ebp + edi - 0x80c]
mov eax, esi
xor ebx, dword [ebp + edi - 0x40c]
or eax, edx
xor eax, dword [ebp + edi - 0x808]
mov edx, ebx
xor eax, dword [ebp + edi - 0x408]
add edi, 8
mov dword [ebp - 0xc10], eax
shrd edx, eax, 8
mov eax, dword [ebp - 0xc10]
mov byte [ecx - 0xa], bl
mov byte [ecx - 9], dl
mov edx, ebx
shrd edx, eax, 0x10
mov byte [ecx - 8], dl
mov edx, dword [ebp - 0xc10]
mov eax, edx
shrd ebx, eax, 0x18
mov eax, edx
mov byte [ecx - 6], dl
shr eax, 8
mov byte [ecx - 5], al
mov eax, edx
shr eax, 0x10
shr edx, 0x18
mov byte [ecx - 7], bl
mov byte [ecx - 4], al
mov byte [ecx - 3], dl
cmp edi, 0x400
jb 0x468826
mov edx, 0x400
lea ecx, [ebp - 0x40c]
call fcn.00492670
mov edx, 0x400
lea ecx, [ebp - 0xc0c]
call fcn.00492670
mov edx, 0x400
lea ecx, [ebp - 0x80c]
call fcn.00492670
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00495b16
mov esp, ebp
pop ebp
ret