Function at 0x10008a55
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
push edi
mov eax, dword [ebp + 0x10]
inc eax
push eax
call fcn.1000a0f7
pop ecx
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 4], eax
add ecx, dword [0x100014d4]
mov edx, edx
lea eax, [eax]
sub ebx, dword [0x100014c8]
add edx, dword [0x100014d0]
lea edx, [edx]
sub edx, dword [0x100014d0]
dec edx
mov ebx, ebx
inc edx
sub eax, dword [0x100014cc]
lea ecx, [ecx]
lea esi, [esi]
sub ecx, dword [0x100014d4]
add eax, dword [0x100014cc]
add ebx, dword [0x100014c8]
lea edi, [edi]
push dword [ebp + 0x10]
push dword [ebp + 8]
push dword [ebp - 4]
call fcn.10009c30
add esp, 0xc
add ecx, dword [0x100014d4]
mov edx, edx
lea eax, [eax]
sub ebx, dword [0x100014c8]
add edx, dword [0x100014d0]
lea edx, [edx]
sub edx, dword [0x100014d0]
dec edx
mov ebx, ebx
inc edx
sub eax, dword [0x100014cc]
lea ecx, [ecx]
lea esi, [esi]
sub ecx, dword [0x100014d4]
add eax, dword [0x100014cc]
add ebx, dword [0x100014c8]
lea edi, [edi]
cmp dword [ebp + 0x10], 0
je 0x10008ca2
add ecx, dword [0x100014d4]
mov edx, edx
lea eax, [eax]
sub ebx, dword [0x100014c8]
add edx, dword [0x100014d0]
lea edx, [edx]
sub edx, dword [0x100014d0]
dec edx
mov ebx, ebx
inc edx
sub eax, dword [0x100014cc]
lea ecx, [ecx]
lea esi, [esi]
sub ecx, dword [0x100014d4]
add eax, dword [0x100014cc]
add ebx, dword [0x100014c8]
lea edi, [edi]
mov ecx, dword [ebp + 0x10]
add ecx, dword [0x100014d4]
mov edx, edx
lea eax, [eax]
sub ebx, dword [0x100014c8]
add edx, dword [0x100014d0]
lea edx, [edx]
sub edx, dword [0x100014d0]
dec edx
mov ebx, ebx
inc edx
sub eax, dword [0x100014cc]
lea ecx, [ecx]
lea esi, [esi]
sub ecx, dword [0x100014d4]
add eax, dword [0x100014cc]
add ebx, dword [0x100014c8]
lea edi, [edi]
mov esi, dword [ebp - 4]
add ecx, dword [0x100014d4]
mov edx, edx
lea eax, [eax]
sub ebx, dword [0x100014c8]
add edx, dword [0x100014d0]
lea edx, [edx]
sub edx, dword [0x100014d0]
dec edx
mov ebx, ebx
inc edx
sub eax, dword [0x100014cc]
lea ecx, [ecx]
lea esi, [esi]
sub ecx, dword [0x100014d4]
add eax, dword [0x100014cc]
add ebx, dword [0x100014c8]
lea edi, [edi]
mov edi, esi
lodsb al, byte [esi]
add ecx, dword [0x100014d4]
mov edx, edx
lea eax, [eax]
sub ebx, dword [0x100014c8]
add edx, dword [0x100014d0]
lea edx, [edx]
sub edx, dword [0x100014d0]
dec edx
mov ebx, ebx
inc edx
sub eax, dword [0x100014cc]
lea ecx, [ecx]
lea esi, [esi]
sub ecx, dword [0x100014d4]
add eax, dword [0x100014cc]
add ebx, dword [0x100014c8]
lea edi, [edi]
xor al, byte [ebp + 0xc]
add ecx, dword [0x100014d4]
mov edx, edx
lea eax, [eax]
sub ebx, dword [0x100014c8]
add edx, dword [0x100014d0]
lea edx, [edx]
sub edx, dword [0x100014d0]
dec edx
mov ebx, ebx
inc edx
sub eax, dword [0x100014cc]
lea ecx, [ecx]
lea esi, [esi]
sub ecx, dword [0x100014d4]
add eax, dword [0x100014cc]
add ebx, dword [0x100014c8]
lea edi, [edi]
stosb byte es:[edi], al
add ecx, dword [0x100014d4]
mov edx, edx
lea eax, [eax]
sub ebx, dword [0x100014c8]
add edx, dword [0x100014d0]
lea edx, [edx]
sub edx, dword [0x100014d0]
dec edx
mov ebx, ebx
inc edx
sub eax, dword [0x100014cc]
lea ecx, [ecx]
lea esi, [esi]
sub ecx, dword [0x100014d4]
add eax, dword [0x100014cc]
add ebx, dword [0x100014c8]
lea edi, [edi]
sub ecx, 1
jne 0x10008bd4
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret