Function at 0x10012cf1
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
push esi
push edi
mov esi, ecx
call fcn.10013896
xor ebx, ebx
mov dword [ebp - 0x18], 0xc110463
mov dl, 0x63
mov dword [ebp - 0x14], 0xc3c1316
mov dword [ebp - 0x10], 0xc0a1713
mov ecx, ebx
mov word [ebp - 0xc], 0xd
xor byte [ebp + ecx - 0x17], dl
inc ecx
cmp ecx, 0xc
jae 0x10012d31
mov dl, byte [ebp - 0x18]
jmp 0x10012d22
sub esp, 0x18
mov byte [ebp - 0xb], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, dword [esi + 0x10]
call fcn.1000ae52
movaps xmm0, xmmword [0x10047a00]
add esp, 0x18
mov edi, eax
mov dword [ebp - 0xc], 0x34232526
movups xmmword [ebp - 0x1c], xmm0
mov byte [ebp - 8], bl
mov edx, ebx
mov cl, byte [ebp - 0x1c]
xor byte [ebp + edx - 0x1b], cl
inc edx
cmp edx, 0x13
jb 0x10012d66
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, edi
call fcn.1000ae52
movaps xmm0, xmmword [0x10047560]
add esp, 0x18
mov edi, eax
mov edx, ebx
movups xmmword [ebp - 0x18], xmm0
mov cl, byte [ebp - 0x18]
xor byte [ebp + edx - 0x17], cl
inc edx
cmp edx, 0xe
jb 0x10012d9d
sub esp, 0x18
mov byte [ebp - 9], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, edi
call fcn.1000ae52
add esp, 0x18
mov dword [esi], eax
test eax, eax
je 0x10012dd9
cmp dword [0x1005447c], 1
sete byte [0x10050167]
movaps xmm0, xmmword [0x10047ad0]
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 0x2920
mov byte [ebp - 0xa], bl
mov al, byte [ebp + ecx - 0x1b]
xor al, byte [ebp - 0x1c]
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x11
jb 0x10012def
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, edi
call fcn.1000ae52
movaps xmm0, xmmword [0x10048420]
add esp, 0x18
mov dword [esi + 4], eax
mov ecx, ebx
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], bl
mov al, byte [ebp + ecx - 0x17]
xor al, byte [ebp - 0x18]
mov byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x10012e2e
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, edi
call fcn.1000ae52
movaps xmm0, xmmword [0x10048030]
add esp, 0x18
mov dword [esi + 8], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x4f585e
mov al, byte [ebp + ecx - 0x1b]
xor al, byte [ebp - 0x1c]
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x12
jb 0x10012e71
sub esp, 0x18
mov byte [ebp - 9], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, edi
call fcn.1000ae52
movaps xmm0, xmmword [str.Z.__.]
add esp, 0x18
mov dword [esi + 0xc], eax
mov ecx, ebx
movups xmmword [ebp - 0x18], xmm0
mov al, byte [ebp + ecx - 0x17]
xor al, byte [ebp - 0x18]
mov byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xe
jb 0x10012ead
sub esp, 0x18
mov byte [ebp - 9], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, edi
call fcn.1000ae52
movaps xmm0, xmmword [0x100479a0]
add esp, 0x18
mov dword [esi + 0x1c], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 0x2b
mov al, byte [ebp + ecx - 0x1b]
xor al, byte [ebp - 0x1c]
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x10
jb 0x10012eef
sub esp, 0x18
mov byte [ebp - 0xb], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, edi
call fcn.1000ae52
add esp, 0x18
mov dword [esi + 0x14], eax
test eax, eax
je 0x10012f2c
push 0x17
mov ecx, eax
call fcn.1000b7df
pop ecx
mov dl, 0x61
mov dword [ebp - 0x14], 0x19041561
mov dword [ebp - 0x10], 0x23e15
mov ecx, ebx
mov dword [ebp - 0xc], 0x13040c
mov byte [ebp - 8], bl
xor byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 0xb
jae 0x10012f57
mov dl, byte [ebp - 0x14]
jmp 0x10012f48
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, edi
call fcn.1000ae52
mov dword [esi + 0x20], eax
add esp, 0x18
mov cl, 0x42
mov dword [ebp - 0x18], 0x30213142
mov dword [ebp - 0x14], 0x1d2e2e2d
mov eax, ebx
mov dword [ebp - 0x10], 0x272f2321
mov word [ebp - 0xc], 0x2330
mov byte [ebp - 0xa], bl
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 0xd
jae 0x10012fa6
mov cl, byte [ebp - 0x18]
jmp 0x10012f97
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.100040a5
mov ecx, edi
call fcn.1000ae52
add esp, 0x18
mov dword [esi + 0x18], eax
test eax, eax
je 0x10012fd2
push 0x14
mov ecx, eax
call fcn.1000b7df
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret