Function at 0x10011645
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
xor ebx, ebx
mov dword [ebp - 0x14], 0x3190f6d
push esi
mov esi, ecx
mov dword [ebp - 0x10], 0x2010e32
mov cl, 0x6d
mov word [ebp - 0xc], 0x81e
mov byte [ebp - 0xa], bl
mov edx, ebx
xor cl, byte [ebp + edx - 0x13]
mov byte [ebp + edx - 0x13], cl
inc edx
cmp edx, 9
jae 0x1001167f
mov cl, byte [ebp - 0x14]
jmp 0x1001166c
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi + 0x20]
call fcn.1000ae13
add esp, 0x18
mov dword [esi], eax
mov dl, 0x50
mov dword [ebp - 0x14], 0x3e243250
mov dword [ebp - 0x10], 0x3124230f
mov ecx, ebx
mov word [ebp - 0xc], 0x2422
mov byte [ebp - 0xa], bl
xor dl, byte [ebp + ecx - 0x13]
mov byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 9
jae 0x100116cb
mov dl, byte [ebp - 0x14]
jmp 0x100116b8
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi + 0x20]
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 4], eax
mov cl, 0x1d
mov dword [ebp - 0x14], 0x73697f1d
mov dword [ebp - 0x10], 0x72696e42
mov edx, ebx
mov word [ebp - 0xc], 0x6d
xor cl, byte [ebp + edx - 0x13]
mov byte [ebp + edx - 0x13], cl
inc edx
cmp edx, 8
jae 0x10011715
mov cl, byte [ebp - 0x14]
jmp 0x10011702
sub esp, 0x18
mov byte [ebp - 0xb], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi + 0x20]
call fcn.1000ae13
movaps xmm0, xmmword [0x10047820]
add esp, 0x18
mov dword [esi + 8], eax
mov edx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 0x1b19
mov byte [ebp - 0xa], bl
mov cl, byte [ebp - 0x1c]
xor byte [ebp + edx - 0x1b], cl
inc edx
cmp edx, 0x11
jb 0x1001174a
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi + 0x20]
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 0xc], eax
mov dl, 0x58
mov word [ebp - 0x18], 0x3a58
mov byte [ebp - 0x16], 0x2c
xor ecx, ecx
mov dword [ebp - 0x14], 0x372c2b07
push 0x36
pop ebx
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x10], 0x3107333b
mov byte [ebp - 0xc], bl
mov byte [ebp - 0xb], bl
mov byte [ebp - 0xa], 0
xor dl, byte [ebp + ecx - 0x17]
mov byte [ebp + ecx - 0x17], dl
inc ecx
cmp ecx, 0xd
jae 0x100117b5
mov dl, byte [ebp - 0x18]
jmp 0x100117a2
sub esp, 0x18
mov byte [ebp - 0xa], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi + 0x20]
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 0x10], eax
mov byte [ebp - 0x14], bl
xor ecx, ecx
mov dword [ebp - 0x13], 0x69584254
mov dword [ebp - 0xf], 0x5a5a5345
mov byte [ebp - 0xb], 0
xor bl, byte [ebp + ecx - 0x13]
mov byte [ebp + ecx - 0x13], bl
inc ecx
cmp ecx, 8
jae 0x100117ff
mov bl, byte [ebp - 0x14]
jmp 0x100117ec
sub esp, 0x18
lea eax, [ebp - 0x13]
mov ecx, esp
xor ebx, ebx
mov byte [ebp - 0xb], bl
push eax
call fcn.1000409e
mov ecx, dword [esi + 0x20]
call fcn.1000ae13
movaps xmm0, xmmword [0x10047b80]
add esp, 0x18
mov dword [esi + 0x14], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x3e243f25
mov byte [ebp - 8], bl
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x13
jb 0x10011837
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi + 0x20]
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 0x18], eax
mov ecx, eax
push 3
pop edx
call fcn.1000b3ce
pop esi
pop ebx
mov esp, ebp
pop ebp
ret