Function at 0x1002c650
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
movaps xmm0, xmmword [0x1009f6a0]
xor edx, edx
push esi
push edi
mov esi, ecx
movups xmmword [ebp - 0x18], xmm0
mov al, byte [ebp - 0x18]
xor byte [ebp + edx - 0x17], al
inc edx
cmp edx, 0xe
jb 0x1002c667
sub esp, 0x18
mov byte [ebp - 9], 0
mov edx, esp
lea ecx, [ebp - 0x17]
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002c697
sub ecx, edi
lea eax, [ebp - 0x17]
push ecx
push eax
mov ecx, edx
call fcn.10005240
mov ecx, dword [esi]
call fcn.10011100
add esp, 0x18
mov dword [esi + 4], eax
mov cl, 0x42
mov dword [ebp - 0x14], 0x2c360042
mov dword [ebp - 0x10], 0x3036111d
xor eax, eax
mov dword [ebp - 0xc], 0x36252c27
mov word [ebp - 8], 0x2a
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xc
jae 0x1002c6e7
mov cl, byte [ebp - 0x14]
jmp 0x1002c6d8
sub esp, 0x18
mov byte [ebp - 7], 0
mov edx, esp
lea ecx, [ebp - 0x13]
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002c710
sub ecx, edi
lea eax, [ebp - 0x13]
push ecx
push eax
mov ecx, edx
call fcn.10005240
mov ecx, dword [esi]
call fcn.10011100
add esp, 0x18
mov dword [esi + 8], eax
mov cl, 0x17
mov dword [ebp - 0x14], 0x79635517
mov dword [ebp - 0x10], 0x76634448
xor eax, eax
mov dword [ebp - 0xc], 0x76797e7a
mov byte [ebp - 8], 0
nop
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 0xb
jae 0x1002c75f
mov cl, byte [ebp - 0x14]
jmp 0x1002c750
sub esp, 0x18
mov byte [ebp - 8], 0
mov edx, esp
lea ecx, [ebp - 0x13]
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002c782
sub ecx, edi
lea eax, [ebp - 0x13]
push ecx
push eax
mov ecx, edx
call fcn.10005240
mov ecx, dword [esi]
call fcn.10011100
add esp, 0x18
mov dword [esi + 0xc], eax
mov cl, 0x7b
mov dword [ebp - 0x18], 0x150f397b
mov dword [ebp - 0x14], 0x31e3f24
xor eax, eax
mov dword [ebp - 0x10], 0x12091e0f
mov word [ebp - 0xc], 0x20f
mov byte [ebp - 0xa], 0
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 0xd
jae 0x1002c7d6
mov cl, byte [ebp - 0x18]
jmp 0x1002c7c7
sub esp, 0x18
mov byte [ebp - 0xa], 0
mov edx, esp
lea ecx, [ebp - 0x17]
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002c800
sub ecx, edi
lea eax, [ebp - 0x17]
push ecx
push eax
mov ecx, edx
call fcn.10005240
mov ecx, dword [esi]
call fcn.10011100
movaps xmm0, xmmword [0x1009fbb0]
add esp, 0x18
mov dword [esi + 0x10], eax
xor ecx, ecx
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], 0
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x1002c833
sub esp, 0x18
mov byte [ebp - 8], 0
mov edx, esp
lea ecx, [ebp - 0x17]
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002c863
sub ecx, edi
lea eax, [ebp - 0x17]
push ecx
push eax
mov ecx, edx
call fcn.10005240
mov ecx, dword [esi]
call fcn.10011100
movaps xmm0, xmmword [0x100a00c0]
add esp, 0x18
mov dword [esi + 0x14], eax
xor ecx, ecx
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0x59
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0x10
jb 0x1002c898
sub esp, 0x18
mov byte [ebp - 7], 0
mov edx, esp
lea ecx, [ebp - 0x17]
xorps xmm0, xmm0
lea edi, [ecx + 1]
movups xmmword [edx], xmm0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1002c8c8
sub ecx, edi
lea eax, [ebp - 0x17]
push ecx
push eax
mov ecx, edx
call fcn.10005240
mov ecx, dword [esi]
call fcn.10011100
add esp, 0x18
mov dword [esi + 0x18], eax
pop edi
pop esi
mov esp, ebp
pop ebp
ret