Function at 0x10012cf5
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.10013894
xor ebx, ebx
mov dword [ebp - 0x18], 0x21f0a6d
mov dl, 0x6d
mov dword [ebp - 0x14], 0x2321d18
mov dword [ebp - 0x10], 0x204191d
mov ecx, ebx
mov word [ebp - 0xc], 3
xor byte [ebp + ecx - 0x17], dl
inc ecx
cmp ecx, 0xc
jae 0x10012d35
mov dl, byte [ebp - 0x18]
jmp 0x10012d26
sub esp, 0x18
mov byte [ebp - 0xb], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, dword [esi + 0x10]
call fcn.1000ae13
movaps xmm0, xmmword [0x10047d00]
add esp, 0x18
mov edi, eax
mov dword [ebp - 0xc], 0x24333536
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 0x10012d6a
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, edi
call fcn.1000ae13
movaps xmm0, xmmword [0x100475a0]
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 0x10012da1
sub esp, 0x18
mov byte [ebp - 9], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, edi
call fcn.1000ae13
add esp, 0x18
mov dword [esi], eax
test eax, eax
je 0x10012ddd
cmp dword [0x1005447c], 1
sete byte [0x10050167]
movaps xmm0, xmmword [0x10047980]
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 0x1b12
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 0x10012df3
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, edi
call fcn.1000ae13
movaps xmm0, xmmword [0x10047db0]
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 0x10012e32
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, edi
call fcn.1000ae13
movaps xmm0, xmmword [0x10047fd0]
add esp, 0x18
mov dword [esi + 8], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x425553
mov al, byte [ebp + ecx - 0x1b]
xor al, byte [ebp - 0x1c]
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x12
jb 0x10012e75
sub esp, 0x18
mov byte [ebp - 9], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, edi
call fcn.1000ae13
movaps xmm0, xmmword [str.J__2_]
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 0x10012eb1
sub esp, 0x18
mov byte [ebp - 9], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, edi
call fcn.1000ae13
movaps xmm0, xmmword [0x10047910]
add esp, 0x18
mov dword [esi + 0x1c], eax
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 0x11
mov al, byte [ebp + ecx - 0x1b]
xor al, byte [ebp - 0x1c]
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x10
jb 0x10012ef3
sub esp, 0x18
mov byte [ebp - 0xb], bl
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, edi
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 0x14], eax
test eax, eax
je 0x10012f30
push 0x17
mov ecx, eax
call fcn.1000b7a0
pop ecx
mov dl, 0x62
mov dword [ebp - 0x14], 0x1a071662
mov dword [ebp - 0x10], 0x3013d16
mov ecx, ebx
mov dword [ebp - 0xc], 0x310070f
mov byte [ebp - 8], bl
xor byte [ebp + ecx - 0x13], dl
inc ecx
cmp ecx, 0xb
jae 0x10012f5b
mov dl, byte [ebp - 0x14]
jmp 0x10012f4c
sub esp, 0x18
mov byte [ebp - 8], bl
lea eax, [ebp - 0x13]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, edi
call fcn.1000ae13
mov dword [esi + 0x20], eax
add esp, 0x18
mov cl, 0x38
mov dword [ebp - 0x18], 0x4a5b4b38
mov dword [ebp - 0x14], 0x67545457
mov eax, ebx
mov dword [ebp - 0x10], 0x5d55595b
mov word [ebp - 0xc], 0x594a
mov byte [ebp - 0xa], bl
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 0xd
jae 0x10012faa
mov cl, byte [ebp - 0x18]
jmp 0x10012f9b
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000409e
mov ecx, edi
call fcn.1000ae13
add esp, 0x18
mov dword [esi + 0x18], eax
test eax, eax
je 0x10012fd6
push 0x14
mov ecx, eax
call fcn.1000b7a0
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret