Function at 0x1001fe3b
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
movaps xmm0, xmmword [0x1008e800]
push ebx
push esi
xor ebx, ebx
mov word [esp + 0x18], 0x1205
mov esi, ecx
mov byte [esp + 0x1a], bl
push edi
movups xmmword [esp + 0xc], xmm0
mov ecx, ebx
mov al, byte [esp + 0xc]
xor byte [esp + ecx + 0xd], al
inc ecx
cmp ecx, 0x11
jb 0x1001fe64
lea eax, [esp + 0xd]
mov byte [esp + 0x1e], bl
push eax
lea ecx, [esp + 0x24]
call fcn.10001f6a
mov ecx, dword [esi]
lea edx, [esp + 0x20]
call fcn.10010042
xor edi, edi
mov dword [esi + 4], eax
push ebx
inc edi
lea ecx, [esp + 0x24]
push edi
call fcn.10001e1f
push 0x6a
pop ebx
mov cl, bl
mov dword [esp + 0xd], 0x35181e19
mov byte [esp + 0xc], cl
xor eax, eax
mov dword [esp + 0x11], 0x50c0403
mov word [esp + 0x15], 0x5b35
mov byte [esp + 0x17], 0
xor byte [esp + eax + 0xd], cl
inc eax
cmp eax, 0xa
jae 0x1001fed7
mov cl, byte [esp + 0xc]
jmp 0x1001fec7
lea eax, [esp + 0xd]
mov byte [esp + 0x17], 0
push eax
lea ecx, [esp + 0x24]
call fcn.10001f6a
mov ecx, dword [esi + 4]
lea edx, [esp + 0x20]
call fcn.10010042
push 0
push edi
lea ecx, [esp + 0x28]
mov dword [esi + 8], eax
call fcn.10001e1f
mov byte [esp + 0xc], bl
xor eax, eax
mov dword [esp + 0xd], 0x35181e19
mov dword [esp + 0x11], 0x50c0403
mov word [esp + 0x15], 0x5835
mov byte [esp + 0x17], 0
xor byte [esp + eax + 0xd], bl
inc eax
cmp eax, 0xa
jae 0x1001ff37
mov bl, byte [esp + 0xc]
jmp 0x1001ff27
lea eax, [esp + 0xd]
xor ebx, ebx
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x1b], bl
call fcn.10001f6a
mov ecx, dword [esi + 4]
lea edx, [esp + 0x20]
call fcn.10010042
push ebx
push edi
lea ecx, [esp + 0x28]
mov dword [esi + 0xc], eax
call fcn.10001e1f
mov cl, 0x36
mov dword [esp + 0xc], 0x44424536
mov dword [esp + 0x10], 0x50585f69
mov eax, ebx
mov dword [esp + 0x14], 0x56959
xor byte [esp + eax + 0xd], cl
inc eax
cmp eax, 0xa
jae 0x1001ff91
mov cl, byte [esp + 0xc]
jmp 0x1001ff81
lea eax, [esp + 0xd]
mov byte [esp + 0x17], bl
push eax
lea ecx, [esp + 0x24]
call fcn.10001f6a
mov ecx, dword [esi + 4]
lea edx, [esp + 0x20]
call fcn.10010042
push ebx
push edi
lea ecx, [esp + 0x28]
mov dword [esi + 0x10], eax
call fcn.10001e1f
mov cl, 0x6d
mov dword [esp + 0xc], 0xa00046d
mov dword [esp + 0x10], 0xc191e32
mov eax, ebx
mov dword [esp + 0x14], 0x304191f
mov word [esp + 0x18], 0xa
xor byte [esp + eax + 0xd], cl
inc eax
cmp eax, 0xc
jae 0x1001fff0
mov cl, byte [esp + 0xc]
jmp 0x1001ffe0
lea eax, [esp + 0xd]
mov byte [esp + 0x19], bl
push eax
lea ecx, [esp + 0x24]
call fcn.10001f6a
mov ecx, dword [esi + 4]
lea edx, [esp + 0x20]
call fcn.10010042
push ebx
push edi
lea ecx, [esp + 0x28]
mov dword [esi + 0x18], eax
call fcn.10001e1f
mov cl, 0x49
mov dword [esp + 0xc], 0x2e242049
mov dword [esp + 0x10], 0x3a302b16
mov eax, ebx
mov dword [esp + 0x14], 0x2d27283d
mov byte [esp + 0x18], bl
xor byte [esp + eax + 0xd], cl
inc eax
cmp eax, 0xb
jae 0x1002004c
mov cl, byte [esp + 0xc]
jmp 0x1002003c
lea eax, [esp + 0xd]
mov byte [esp + 0x18], bl
push eax
lea ecx, [esp + 0x24]
call fcn.10001f6a
mov ecx, dword [esi + 4]
lea edx, [esp + 0x20]
call fcn.10010042
push ebx
push edi
lea ecx, [esp + 0x28]
mov dword [esi + 0x1c], eax
call fcn.10001e1f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret