Function at 0x55ad00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc14
mov eax, dword [0x68cc00]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
mov dword [ebp - 0xc14], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
lea edx, [ecx + 5]
mov dword [ebp - 0xc10], 0
lea esi, [eax + 6]
mov dword [ebp - 0xc0c], edx
sub ecx, eax
mov dword [ebp - 0xc08], esi
push edi
mov dword [ebp + 0x10], ecx
movzx eax, byte [edx + 2]
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [ecx + esi]
mov ecx, dword [ebp - 0xc0c]
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 - 0xc08]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc08]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax - 1]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc08]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax - 2]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc08]
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 - 0xc08]
movzx eax, byte [eax - 4]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc08]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax - 5]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc08]
shld esi, ecx, 8
shl ecx, 8
movzx eax, byte [eax - 6]
cdq
or ecx, eax
or esi, edx
mov eax, dword [ebp - 0xc10]
xor ebx, esi
mov esi, dword [ebp - 0xc08]
xor edi, ecx
mov edx, dword [ebp - 0xc0c]
add esi, 8
mov ecx, dword [ebp + 0x10]
add edx, 8
mov dword [ebp + eax*8 - 0x404], edi
mov dword [ebp + eax*8 - 0x400], ebx
inc eax
mov dword [ebp - 0xc10], eax
mov dword [ebp - 0xc08], esi
mov dword [ebp - 0xc0c], edx
cmp eax, 0x80
jb 0x55ad46
xor esi, esi
push 2
lea eax, [ebp - 0x404]
add eax, esi
push eax
lea eax, [ebp - 0xc04]
add eax, esi
push 2
push eax
call fcn.0055b060
sub esi, 0xffffff80
add esp, 0x10
cmp esi, 0x400
jb 0x55aeb3
xor esi, esi
nop
push 0x10
lea eax, [ebp - 0xc04]
add eax, esi
push eax
lea eax, [ebp - 0x804]
add eax, esi
push 0x10
push eax
call fcn.0055b060
add esi, 0x10
add esp, 0x10
cmp esi, 0x80
jb 0x55aee0
mov ecx, dword [ebp - 0xc14]
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 - 0xc08], esi
xor ebx, dword [ebp + edi - 0x804]
mov eax, esi
xor ebx, dword [ebp + edi - 0x404]
or eax, edx
xor eax, dword [ebp + edi - 0x800]
mov edx, ebx
xor eax, dword [ebp + edi - 0x400]
add edi, 8
mov dword [ebp - 0xc08], eax
shrd edx, eax, 8
mov eax, dword [ebp - 0xc08]
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 - 0xc08]
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 0x55af14
push 0x400
lea eax, [ebp - 0x404]
push 0
push eax
call fcn.0040de30
push 0x400
lea eax, [ebp - 0xc04]
push 0
push eax
call fcn.0040de30
push 0x400
lea eax, [ebp - 0x804]
push 0
push eax
call fcn.0040de30
mov ecx, dword [ebp - 4]
add esp, 0x24
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.005af5a8
mov esp, ebp
pop ebp
ret