Function at 0x10012d86
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
push esi
push edi
mov ebx, ecx
mov dword [ebp - 0x14], 0x16040765
sub esp, 0x18
mov dword [ebp - 0x10], 0x9063a00
lea ecx, [ebp - 0x14]
mov word [ebp - 0xc], 0xb04
mov byte [ebp - 0xa], 0
mov esi, esp
mov edi, dword [ebx + 0x34]
call fcn.10001431
push eax
mov ecx, esi
call fcn.10002607
mov ecx, edi
call fcn.1000914c
movaps xmm0, xmmword [0x1003e530]
add esp, 0x18
mov esi, eax
mov byte [ebp - 8], 0
mov dword [ebx], esi
xor ecx, ecx
movups xmmword [ebp - 0x18], xmm0
push 0xf
pop edi
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, edi
jb 0x10012de3
sub esp, 0x18
mov byte [ebp - 8], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
movaps xmm0, xmmword [0x1003e140]
add esp, 0x18
mov esi, dword [ebx]
xor ecx, ecx
mov dword [ebx + 4], eax
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], 0
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, edi
jb 0x10012e21
sub esp, 0x18
mov byte [ebp - 8], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
movaps xmm0, xmmword [0x1003e890]
add esp, 0x18
mov esi, dword [ebx]
xor ecx, ecx
mov dword [ebx + 8], eax
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 8
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0x10
jb 0x10012e61
sub esp, 0x18
mov byte [ebp - 7], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
movaps xmm0, xmmword [0x1003e610]
add esp, 0x18
mov esi, dword [ebx]
xor ecx, ecx
mov dword [ebx + 0xc], eax
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0x3d
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0x10
jb 0x10012ea2
sub esp, 0x18
mov byte [ebp - 7], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
movaps xmm0, xmmword [0x1003e470]
add esp, 0x18
mov esi, dword [ebx]
xor ecx, ecx
mov dword [ebx + 0x10], eax
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], 0
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, edi
jb 0x10012ee1
sub esp, 0x18
mov byte [ebp - 8], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
movaps xmm0, xmmword [0x1003e5d0]
add esp, 0x18
mov esi, dword [ebx]
xor ecx, ecx
mov dword [ebx + 0x14], eax
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], 0
mov al, byte [ebp - 0x18]
xor byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, edi
jb 0x10012f1f
sub esp, 0x18
mov byte [ebp - 8], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
mov esi, dword [ebx]
add esp, 0x18
mov dword [ebx + 0x18], eax
mov cl, 0x48
mov dword [ebp - 0x14], 0x2f252148
xor eax, eax
mov dword [ebp - 0x10], 0x3e2c2917
mov word [ebp - 0xc], 0x7917
mov byte [ebp - 0xa], 0
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 9
jae 0x10012f77
mov cl, byte [ebp - 0x14]
jmp 0x10012f68
sub esp, 0x18
mov byte [ebp - 0xa], 0
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
mov esi, dword [ebx]
add esp, 0x18
mov dword [ebx + 0x1c], eax
mov cl, 0x33
mov dword [ebp - 0x14], 0x545e5a33
xor eax, eax
mov dword [ebp - 0x10], 0x4557526c
mov word [ebp - 0xc], 0x16c
mov byte [ebp - 0xa], 0
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 9
jae 0x10012fc3
mov cl, byte [ebp - 0x14]
jmp 0x10012fb4
sub esp, 0x18
mov byte [ebp - 0xa], 0
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
mov esi, dword [ebx]
add esp, 0x18
mov dword [ebx + 0x20], eax
mov cl, 0x41
mov dword [ebp - 0x14], 0x32202341
xor eax, eax
mov dword [ebp - 0x10], 0x28351e24
mov word [ebp - 0xc], 0x242c
mov byte [ebp - 0xa], 0
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 9
jae 0x1001300f
mov cl, byte [ebp - 0x14]
jmp 0x10013000
sub esp, 0x18
mov byte [ebp - 0xa], 0
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
add esp, 0x18
mov dword [ebp - 0xf], 0x54797f78
mov esi, eax
mov dword [ebp - 0xb], 0x6e66627f
mov dword [ebx + 0x24], esi
xor eax, eax
mov byte [ebp - 7], 0
push 0xb
pop ecx
mov byte [ebp - 0x10], cl
xor byte [ebp + eax - 0xf], cl
inc eax
cmp eax, 8
jae 0x10013059
mov cl, byte [ebp - 0x10]
jmp 0x1001304a
sub esp, 0x18
mov byte [ebp - 7], 0
lea eax, [ebp - 0xf]
mov ecx, esp
push eax
call fcn.10002607
mov ecx, esi
call fcn.1000914c
add esp, 0x18
mov dword [ebx + 0x28], eax
pop edi
pop esi
pop ebx
leave
ret