Function at 0x10012301
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.10012e58
push 0x24
pop ebx
mov dl, 0x56
mov word [ebp - 0x18], 0x3156
mov byte [ebp - 0x16], bl
xor ecx, ecx
mov dword [ebp - 0x15], 0x9262339
mov dword [ebp - 0x11], 0x3f222639
mov word [ebp - 0xd], 0x3839
mov byte [ebp - 0xb], 0
xor byte [ebp + ecx - 0x17], dl
inc ecx
cmp ecx, 0xc
jae 0x10012348
mov dl, byte [ebp - 0x18]
jmp 0x10012339
sub esp, 0x18
mov byte [ebp - 0xb], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000289a
mov ecx, dword [esi + 0x10]
call fcn.1000b929
movaps xmm0, xmmword [0x10080520]
add esp, 0x18
mov edi, eax
mov dword [ebp - 0xc], 0xa1d1b18
movups xmmword [ebp - 0x1c], xmm0
mov byte [ebp - 8], 0
xor edx, edx
mov cl, byte [ebp - 0x1c]
xor byte [ebp + edx - 0x1b], cl
inc edx
cmp edx, 0x13
jb 0x1001237f
sub esp, 0x18
mov byte [ebp - 8], 0
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000289a
mov ecx, edi
call fcn.1000b929
movaps xmm0, xmmword [0x1007fff0]
add esp, 0x18
mov edi, eax
xor edx, edx
movups xmmword [ebp - 0x18], xmm0
mov cl, byte [ebp - 0x18]
xor byte [ebp + edx - 0x17], cl
inc edx
cmp edx, 0xe
jb 0x100123b7
sub esp, 0x18
mov byte [ebp - 9], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000289a
mov ecx, edi
call fcn.1000b929
add esp, 0x18
mov dword [esi], eax
test eax, eax
je 0x100123f4
cmp dword [0x10092e8c], 1
sete byte [0x1008eb73]
movaps xmm0, xmmword [0x10080510]
xor ecx, ecx
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 0x1f16
mov byte [ebp - 0xa], 0
mov al, byte [ebp + ecx - 0x1b]
xor al, byte [ebp - 0x1c]
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x11
jb 0x1001240b
sub esp, 0x18
mov byte [ebp - 0xa], 0
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000289a
mov ecx, edi
call fcn.1000b929
movaps xmm0, xmmword [0x10080450]
add esp, 0x18
mov dword [esi + 4], eax
xor ecx, ecx
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 8], 0
mov al, byte [ebp + ecx - 0x17]
xor al, byte [ebp - 0x18]
mov byte [ebp + ecx - 0x17], al
inc ecx
cmp ecx, 0xf
jb 0x1001244c
sub esp, 0x18
mov byte [ebp - 8], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000289a
mov ecx, edi
call fcn.1000b929
movaps xmm0, xmmword [0x10080b00]
add esp, 0x18
mov dword [esi + 8], eax
xor ecx, ecx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0x594e48
mov al, byte [ebp + ecx - 0x1b]
xor al, byte [ebp - 0x1c]
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x12
jb 0x10012490
sub esp, 0x18
mov byte [ebp - 9], 0
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000289a
mov ecx, edi
call fcn.1000b929
movaps xmm0, xmmword [str._bmpWoiemWaem]
add esp, 0x18
mov dword [esi + 0xc], eax
xor ecx, ecx
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 0x100124cd
sub esp, 0x18
mov byte [ebp - 9], 0
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000289a
mov ecx, edi
call fcn.1000b929
movaps xmm0, xmmword [0x10080380]
add esp, 0x18
mov dword [esi + 0x1c], eax
xor ecx, ecx
movups xmmword [ebp - 0x1c], xmm0
mov word [ebp - 0xc], 3
mov al, byte [ebp + ecx - 0x1b]
xor al, byte [ebp - 0x1c]
mov byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0x10
jb 0x10012510
sub esp, 0x18
mov byte [ebp - 0xb], 0
lea eax, [ebp - 0x1b]
mov ecx, esp
push eax
call fcn.1000289a
mov ecx, edi
call fcn.1000b929
add esp, 0x18
mov dword [esi + 0x14], eax
test eax, eax
je 0x1001254e
push 0x17
mov ecx, eax
call fcn.1000c2b7
pop ecx
mov byte [ebp - 0x14], bl
xor ecx, ecx
mov dword [ebp - 0x13], 0x505c4150
mov dword [ebp - 0xf], 0x4945477b
mov dword [ebp - 0xb], 0x455641
xor byte [ebp + ecx - 0x13], bl
inc ecx
cmp ecx, 0xb
jae 0x10012577
mov bl, byte [ebp - 0x14]
jmp 0x10012568
sub esp, 0x18
lea eax, [ebp - 0x13]
mov ecx, esp
xor ebx, ebx
mov byte [ebp - 8], bl
push eax
call fcn.1000289a
mov ecx, edi
call fcn.1000b929
mov dword [esi + 0x20], eax
add esp, 0x18
mov cl, 0x61
mov dword [ebp - 0x18], 0x13021261
mov dword [ebp - 0x14], 0x3e0d0d0e
mov eax, ebx
mov dword [ebp - 0x10], 0x40c0002
mov word [ebp - 0xc], 0x13
mov byte [ebp - 0xa], bl
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 0xd
jae 0x100125c8
mov cl, byte [ebp - 0x18]
jmp 0x100125b9
sub esp, 0x18
mov byte [ebp - 0xa], bl
lea eax, [ebp - 0x17]
mov ecx, esp
push eax
call fcn.1000289a
mov ecx, edi
call fcn.1000b929
add esp, 0x18
mov dword [esi + 0x18], eax
test eax, eax
je 0x100125f4
push 0x14
mov ecx, eax
call fcn.1000c2b7
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret