Function at 0x10020afc
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
mov esi, ecx
mov ecx, dword [esi]
call fcn.1000b140
mov ecx, dword [esi]
or eax, 0x20
mov edx, eax
call fcn.1000b161
xor ebx, ebx
mov dword [ebp - 0x10], 0x3190f6d
mov cl, 0x6d
mov dword [ebp - 0xc], 0x2010e32
mov word [ebp - 8], 0x81e
mov edx, ebx
mov byte [ebp - 6], bl
xor cl, byte [ebp + edx - 0xf]
mov byte [ebp + edx - 0xf], cl
inc edx
cmp edx, 9
jae 0x10020b49
mov cl, byte [ebp - 0x10]
jmp 0x10020b36
sub esp, 0x18
mov byte [ebp - 6], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi]
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 4], eax
mov dl, 0x50
mov dword [ebp - 0x14], 0x3e243250
mov dword [ebp - 0x10], 0x2231270f
mov ecx, ebx
mov dword [ebp - 0xc], 0x223f3922
mov byte [ebp - 8], bl
xor dl, byte [ebp + ecx - 0x13]
mov byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 0xb
jae 0x10020b96
mov dl, byte [ebp - 0x14]
jmp 0x10020b83
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi]
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 8], eax
mov cl, 0x1d
mov dword [ebp - 0x10], 0x73697f1d
mov dword [ebp - 0xc], 0x7a726f42
mov edx, ebx
mov word [ebp - 8], 0x7868
mov byte [ebp - 6], bl
xor cl, byte [ebp + edx - 0xf]
mov byte [ebp + edx - 0xf], cl
inc edx
cmp edx, 9
jae 0x10020be2
mov cl, byte [ebp - 0x10]
jmp 0x10020bcf
sub esp, 0x18
mov byte [ebp - 6], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi]
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 0xc], eax
mov cl, 0x7e
mov dword [ebp - 0x10], 0x100a1c7e
mov dword [ebp - 0xc], 0x191f1321
mov edx, ebx
mov word [ebp - 8], 0x1b
xor cl, byte [ebp + edx - 0xf]
mov byte [ebp + edx - 0xf], cl
inc edx
cmp edx, 8
jae 0x10020c2b
mov cl, byte [ebp - 0x10]
jmp 0x10020c18
sub esp, 0x18
mov byte [ebp - 7], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi]
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 0x10], eax
mov dl, 0x58
mov dword [ebp - 0x10], 0x362c3a58
mov dword [ebp - 0xc], 0x312a2807
mov ecx, ebx
mov dword [ebp - 8], 0x2c2b3d
xor dl, byte [ebp + ecx - 0xf]
mov byte [ebp + ecx - 0xf], dl
inc ecx
cmp ecx, 0xa
jae 0x10020c75
mov dl, byte [ebp - 0x10]
jmp 0x10020c62
sub esp, 0x18
mov byte [ebp - 5], bl
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi]
call fcn.1000ae13
movaps xmm0, xmmword [0x10047e70]
add esp, 0x18
mov dword [esi + 0x14], eax
mov edx, ebx
movups xmmword [ebp - 0x18], xmm0
mov dword [ebp - 8], 0x535b5f
mov cl, byte [ebp - 0x18]
xor byte [ebp + edx - 0x17], cl
inc edx
cmp edx, 0x12
jb 0x10020ca7
sub esp, 0x18
mov byte [ebp - 5], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi]
call fcn.1000ae13
movaps xmm0, xmmword [str.J_2_]
add esp, 0x18
mov dword [esi + 0x18], eax
mov edx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x243f2529
mov word [ebp - 8], 0x3e
mov cl, byte [ebp - 0x1c]
xor byte [ebp + edx - 0x1b], cl
inc edx
cmp edx, 0x14
jb 0x10020cec
sub esp, 0x18
mov byte [ebp - 7], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi]
call fcn.1000ae13
movaps xmm0, xmmword [0x100478d0]
add esp, 0x18
mov dword [esi + 0x1c], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x1b172b18
mov dword [ebp - 8], 0x1a01
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x16
jb 0x10020d32
sub esp, 0x18
mov byte [ebp - 5], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi]
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 0x20], eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret