Function at 0x1001249d
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
xor ebx, ebx
mov dword [ebp - 0x14], 0x7a607614
push esi
mov esi, ecx
mov dword [ebp - 0x10], 0x7b78774b
mov dl, 0x14
mov word [ebp - 0xc], 0x7167
mov byte [ebp - 0xa], bl
mov ecx, ebx
xor dl, byte [ebp + ecx - 0x13]
mov byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 9
jae 0x100124d7
mov dl, byte [ebp - 0x14]
jmp 0x100124c4
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 0x20]
call fcn.1000d131
add esp, 0x18
mov dword [esi], eax
mov cl, 0x11
mov dword [ebp - 0x14], 0x7f657311
mov dword [ebp - 0x10], 0x7065624e
mov edx, ebx
mov word [ebp - 0xc], 0x6563
mov byte [ebp - 0xa], bl
xor cl, byte [ebp + edx - 0x13]
mov byte [ebp + edx - 0x13], cl
inc edx
cmp edx, 9
jae 0x10012523
mov cl, byte [ebp - 0x14]
jmp 0x10012510
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 0x20]
call fcn.1000d131
add esp, 0x18
mov dword [esi + 4], eax
mov dl, 0x6b
mov dword [ebp - 0x14], 0x51f096b
mov dword [ebp - 0x10], 0x41f1834
mov ecx, ebx
mov word [ebp - 0xc], 0x1b
xor dl, byte [ebp + ecx - 0x13]
mov byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 8
jae 0x1001256d
mov dl, byte [ebp - 0x14]
jmp 0x1001255a
sub esp, 0x18
mov byte [ebp - 0xb], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 0x20]
call fcn.1000d131
movaps xmm0, xmmword [0x10089930]
add esp, 0x18
mov dword [esi + 8], eax
mov edx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 0x2d2f
mov byte [ebp - 0xa], bl
mov cl, byte [ebp - 0x1c]
xor byte [ebp + edx - 0x1b], cl
inc edx
cmp edx, 0x11
jb 0x100125a2
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 0x20]
call fcn.1000d131
add esp, 0x18
mov dword [esi + 0xc], eax
mov dl, 0x4a
mov dword [ebp - 0x18], 0x243e284a
mov dword [ebp - 0x14], 0x253e3915
mov ecx, ebx
mov dword [ebp - 0x10], 0x23152129
mov word [ebp - 0xc], 0x2424
mov byte [ebp - 0xa], bl
xor dl, byte [ebp + ecx - 0x17]
mov byte [ebp + ecx - 0x17], dl
inc ecx
cmp ecx, 0xd
jae 0x10012603
mov dl, byte [ebp - 0x18]
jmp 0x100125f0
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 0x20]
call fcn.1000d131
add esp, 0x18
mov dword [esi + 0x10], eax
mov dl, 0x10
mov dword [ebp - 0x14], 0x7e647210
mov dword [ebp - 0x10], 0x7c75634f
mov ecx, ebx
mov word [ebp - 0xc], 0x7c
xor dl, byte [ebp + ecx - 0x13]
mov byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 8
jae 0x1001264d
mov dl, byte [ebp - 0x14]
jmp 0x1001263a
sub esp, 0x18
mov byte [ebp - 0xb], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 0x20]
call fcn.1000d131
movaps xmm0, xmmword [0x10089670]
add esp, 0x18
mov dword [esi + 0x14], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x3190218
mov byte [ebp - 8], bl
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x13
jb 0x10012683
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000416d
mov ecx, dword [esi + 0x20]
call fcn.1000d131
add esp, 0x18
mov dword [esi + 0x18], eax
mov ecx, eax
push 3
pop edx
call fcn.1000d6ec
pop esi
pop ebx
mov esp, ebp
pop ebp
ret