Function at 0x10011c1a
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x10050040]
xor eax, esp
mov dword [esp + 0x78], eax
movaps xmm0, xmmword [0x1004d370]
lea ecx, [esp + 0x24]
push ebx
push esi
push edi
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0x938891
xor ebx, ebx
mov byte [esp + 0x44], 1
call fcn.10009815
movaps xmm0, xmmword [0x1004cb60]
lea esi, [esp + 0x20]
movups xmmword [esp + 0x20], xmm0
lea edi, [esp + 0x10]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [esp + 0x14]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10021b3e
movaps xmm0, xmmword [0x1004d330]
movups xmmword [esp + 0x50], xmm0
pop ecx
movaps xmm0, xmmword [0x1004cf90]
movups xmmword [esp + 0x5c], xmm0
pop ecx
movaps xmm0, xmmword [0x1004d210]
mov ecx, ebx
movups xmmword [esp + 0x68], xmm0
mov dword [esp + 0x78], 0x9cf3ecfc
mov dword [esp + 0x7c], 0xb1bcb5b4
mov dword [esp + 0x80], 0x100bdb7
mov al, cl
sub al, 0x5f
xor byte [esp + ecx + 0x48], al
inc ecx
cmp ecx, 0x3a
jb 0x10011cbb
lea ecx, [esp + 0x20]
mov byte [esp + 0x83], bl
mov dword [esp + 0x20], 0xcbd58182
mov dword [esp + 0x24], 0xc1ccc3d1
mov dword [esp + 0x28], 0x100c1ca
call fcn.1000a4f5
push ecx
lea ecx, [esp + 0x4c]
mov edx, 0x100c6c40
push ecx
mov ecx, eax
call fcn.10028bb9
pop ecx
pop ecx
mov ecx, dword [0x100c6c64]
mov eax, dword [ecx + 0x1a20]
mov byte [eax + 0x78], 1
mov eax, dword [ecx + 0x1a20]
cmp byte [eax + 0x7b], bl
jne 0x10011d34
and dword [esp + 0x20], ebx
lea ecx, [esp + 0x20]
and dword [esp + 0x24], ebx
xorps xmm1, xmm1
call fcn.10017714
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], 0xc1cfc7f2
mov dword [esp + 0x24], 0xfd87d2c6
mov dword [esp + 0x28], 0x8cd9cfda
mov dword [esp + 0x2c], 0x1008e97
call fcn.1000d42d
movaps xmm0, xmmword [0x1004cb60]
lea esi, [esp + 0x10]
movups xmmword [esp + 0x10], xmm0
lea edi, [esp + 0x30]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [esp + 0x34]
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.10021b3e
movaps xmm0, xmmword [0x1004c990]
pop ecx
pop ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x40], 1
movups xmmword [esp + 0x30], xmm0
call fcn.1000d40c
mov edx, dword [0x10050dc0]
push ecx
mov ecx, eax
call fcn.10028595
mov edi, 0x100c6af8
pop ecx
test al, al
je 0x10011df9
and dword [esp + 0x20], ebx
mov esi, edi
and dword [esp + 0x24], ebx
cmp dword [0x10050dc0], esi
lea eax, [esp + 0x20]
push eax
push ecx
sete dl
mov ecx, esi
call fcn.10028c07
pop ecx
pop ecx
test al, al
je 0x10011de6
mov dword [0x10050dc0], esi
mov dword [0x100513fc], ebx
add esi, 0x12
inc ebx
cmp esi, 0x100c6c3c
jl 0x10011dbe
call fcn.1001cbfa
xor ebx, ebx
cmp byte [0x383d3888], 1
jne 0x10011e73
movaps xmm0, xmmword [0x1004d320]
lea ecx, [esp + 0x30]
and dword [esp + 0x20], 0
and dword [esp + 0x24], 0
movups xmmword [esp + 0x30], xmm0
mov dword [esp + 0x40], 0x100c6c2
call fcn.10009836
push ebx
lea edx, [esp + 0x24]
mov ecx, eax
call fcn.1002236f
pop ecx
test al, al
je 0x10011e73
mov esi, ebx
mov eax, 0x383b7e0c
mov ecx, dword [eax]
test ecx, ecx
je 0x10011e67
mov eax, dword [0x100c6ac8]
push esi
call eax
test eax, eax
je 0x10011e62
push dword [eax]
add eax, 0x28
push eax
push edi
call fcn.1001400c
add esp, 0xc
mov eax, 0x383b7e0c
add edi, 0x12
inc esi
cmp edi, 0x100c6c3c
jl 0x10011e41
cmp dword [0x100513fc], 0
je 0x10011eb6
movaps xmm0, xmmword [0x1004c950]
lea ecx, [esp + 0x30]
and dword [esp + 0x20], 0
and dword [esp + 0x24], 0
movups xmmword [esp + 0x30], xmm0
mov byte [esp + 0x40], 1
call fcn.1000d40c
push ebx
lea edx, [esp + 0x24]
mov ecx, eax
call fcn.1002236f
test al, al
pop ecx
setne byte [0x100c6aa7]
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100411ba
mov esp, ebp
pop ebp
ret