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

Disassembly:
push 0x158
mov eax, 0x10070aa2
call fcn.10039b20
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov dword [0x10095d14], eax
test edi, edi
je 0x10013025
cmp dword [ebp + 0xc], 1
je 0x1001296a
cmp dword [ebp + 0xc], 4
je 0x1001296a
cmp dword [ebp + 0xc], 0x100
jne 0x10013025
push 0x104
xor ebx, ebx
lea eax, [ebp - 0x114]
push ebx
push eax
call fcn.10051560
add esp, 0xc
mov dword [ebp - 0x118], 0xf
mov dword [ebp - 4], ebx
mov eax, 0x10092e30
cmp dword [0x10092e44], 0x10
mov dword [ebp - 0x11c], ebx
cmovae eax, dword [0x10092e30]
push eax
lea eax, [ebp - 0x114]
mov byte [ebp - 0x12c], bl
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0xa
mov edx, ebx
mov dword [ebp - 0x144], 0x46427d32
mov cl, 0x32
mov dword [ebp - 0x140], 0x1c5c5d5b
mov dword [ebp - 0x13c], 0x5b5c7b
pop ebx
xor cl, byte [ebp + edx - 0x143]
mov byte [ebp + edx - 0x143], cl
inc edx
cmp edx, ebx
jae 0x100129fb
mov cl, byte [ebp - 0x144]
jmp 0x100129e0
lea eax, [ebp - 0x143]
mov byte [ebp - 0x139], 0
push eax
lea eax, [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [esi], 0
je 0x10012acd
cmp edi, dword [esi]
jne 0x10012acd
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10099f68], 1
setne dl
cmp edx, 1
mov dword [0x10099f68], edx
sete byte [0x10095c53]
call fcn.1000a6ea
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x10012a58
mov edx, dword [edx]
push 0x7b
pop ecx
xor ebx, ebx
mov byte [ebp - 0x144], cl
mov dword [ebp - 0x143], 0x17121028
mov eax, ebx
mov dword [ebp - 0x13f], 0x1e093a17
mov word [ebp - 0x13b], 0x1a
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 9
jae 0x10012a97
mov cl, byte [ebp - 0x144]
jmp 0x10012a82
mov byte [ebp - 0x13a], bl
mov cl, 0x37
mov dword [ebp - 0x134], 0x445e7a37
mov eax, ebx
mov word [ebp - 0x130], 0x54
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10012fff
mov cl, byte [ebp - 0x134]
jmp 0x10012ab4
cmp dword [esi + 4], 0
je 0x10012bd1
cmp edi, dword [esi + 4]
jne 0x10012bd1
mov esi, dword [0x10095bc8]
xor eax, eax
cmp dword [0x10099f6c], 1
setne al
mov dword [0x10099f6c], eax
test esi, esi
je 0x10012b2f
mov esi, dword [esi + 0xc]
test esi, esi
je 0x10012b2f
test eax, eax
je 0x10012b25
cmp dword [esi], 0
je 0x10012b2f
push 4
push dword [esi]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012b2f
mov ecx, dword [esi]
push 1
call dword [0x10085fcc]
jmp 0x10012b2f
sub esp, 0xc
mov ecx, esi
call fcn.1000fbee
mov edx, dword [0x10099f6c]
lea ecx, [ebp - 0x164]
call fcn.1000a6ea
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10012b4a
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x144], 0x757e5c1b
mov dl, 0x1b
mov dword [ebp - 0x140], 0x724d7e72
mov dword [ebp - 0x13c], 0x77797268
mov eax, ebx
mov word [ebp - 0x138], 0x7e
xor byte [ebp + eax - 0x143], dl
inc eax
cmp eax, 0xc
jae 0x10012b8c
mov dl, byte [ebp - 0x144]
jmp 0x10012b77
mov byte [ebp - 0x137], bl
mov dl, 0x62
mov dword [ebp - 0x134], 0x110b2f62
mov eax, ebx
mov word [ebp - 0x130], 1
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10012bbe
mov dl, byte [ebp - 0x134]
jmp 0x10012ba9
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x143]
jmp 0x10012edf
cmp dword [esi + 8], 0
je 0x10012c79
cmp edi, dword [esi + 8]
jne 0x10012c79
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10099f74], 1
setne dl
mov dword [0x10099f74], edx
call fcn.1000a6ea
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x10012c0b
mov edx, dword [edx]
mov cl, 0x4e
mov dword [ebp - 0x144], 0x202b1c4e
mov dword [ebp - 0x140], 0xd3c2b2a
xor eax, eax
mov dword [ebp - 0x13c], 0x2b3e2f
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, ebx
jae 0x10012c41
mov cl, byte [ebp - 0x144]
jmp 0x10012c2d
xor ebx, ebx
mov dword [ebp - 0x134], 0x150f2b66
mov byte [ebp - 0x139], bl
mov cl, 0x66
mov word [ebp - 0x130], 5
mov eax, ebx
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10012fff
mov cl, byte [ebp - 0x134]
jmp 0x10012c60
cmp dword [esi + 0xc], 0
je 0x10012d40
cmp edi, dword [esi + 0xc]
jne 0x10012d40
xor edx, edx
lea ecx, [ebp - 0x164]
cmp dword [0x10099f78], 1
setne dl
mov dword [0x10099f78], edx
call fcn.1000a6ea
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10012cb3
mov ecx, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0x148], 0x17182b79
mov dl, 0x79
mov dword [ebp - 0x144], 0x1e171012
mov dword [ebp - 0x140], 0x1c1f1f3c
mov eax, ebx
mov word [ebp - 0x13c], 0xd1a
mov byte [ebp - 0x13a], bl
xor byte [ebp + eax - 0x147], dl
inc eax
cmp eax, 0xd
jae 0x10012cfb
mov dl, byte [ebp - 0x148]
jmp 0x10012ce6
mov byte [ebp - 0x13a], bl
mov dl, 0x7e
mov dword [ebp - 0x134], 0xd17337e
mov eax, ebx
mov word [ebp - 0x130], 0x1d
xor byte [ebp + eax - 0x133], dl
inc eax
cmp eax, 4
jae 0x10012d2d
mov dl, byte [ebp - 0x134]
jmp 0x10012d18
lea eax, [ebp - 0x114]
push eax
push ecx
lea eax, [ebp - 0x147]
jmp 0x10012edf
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x10012f06
cmp edi, ecx
jne 0x10012f06
call fcn.1000c5ac
mov edi, eax
cmp edi, 0x17
ja 0x10013011
cmp edi, dword [0x10099f70]
je 0x10013011
mov dword [0x10099f70], edi
mov edx, edi
mov ecx, dword [esi + 0x14]
call fcn.1000c589
push edi
cmp edi, ebx
jge 0x10012dc4
movaps xmm0, xmmword [str._y_S_]
xor ebx, ebx
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0xe045a52
mov ecx, ebx
mov word [ebp - 0x138], 0xe
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x14
jb 0x10012da9
mov byte [ebp - 0x137], bl
jmp 0x10012dff
movaps xmm0, xmmword [0x100875a0]
xor ebx, ebx
movups xmmword [ebp - 0x14c], xmm0
mov dword [ebp - 0x13c], 0x4848421c
mov ecx, ebx
mov byte [ebp - 0x138], bl
mov al, byte [ebp - 0x14c]
xor byte [ebp + ecx - 0x14b], al
inc ecx
cmp ecx, 0x13
jb 0x10012de6
mov byte [ebp - 0x138], bl
sub esp, 0x18
lea eax, [ebp - 0x14b]
mov ecx, esp
push eax
call fcn.10002907
lea eax, [ebp - 0x164]
push eax
call fcn.100072fa
add esp, 0x20
lea ecx, [ebp - 0x12c]
push eax
call fcn.1000472a
push ebx
push 1
lea ecx, [ebp - 0x164]
call fcn.100027bc
mov ecx, dword [esi + 0x1c]
lea edx, [ebp - 0x12c]
call fcn.1000c667
push ecx
push edi
call fcn.10013305
mov edx, dword [0x10099f70]
lea ecx, [ebp - 0x164]
call fcn.1000a6ea
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x10012e69
mov edx, dword [edx]
mov cl, 0x54
mov dword [ebp - 0x140], 0x39351354
mov dword [ebp - 0x13c], 0x393d0031
mov eax, ebx
mov word [ebp - 0x138], 0x31
xor byte [ebp + eax - 0x13f], cl
inc eax
cmp eax, 8
jae 0x10012e9f
mov cl, byte [ebp - 0x140]
jmp 0x10012e8a
mov byte [ebp - 0x137], bl
mov cl, 3
mov dword [ebp - 0x134], 0x706a4e03
mov eax, ebx
mov word [ebp - 0x130], 0x60
xor byte [ebp + eax - 0x133], cl
inc eax
cmp eax, 4
jae 0x10012ed1
mov cl, byte [ebp - 0x134]
jmp 0x10012ebc
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x13f]
push edx
push eax
lea eax, [ebp - 0x133]
mov byte [ebp - 0x12f], bl
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push ebx
push 1
lea ecx, [ebp - 0x164]
call fcn.100027bc
jmp 0x10013013
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x10013011
cmp edi, ecx
jne 0x10013011
call fcn.1000c5ac
mov edi, eax
cmp edi, 0x14
ja 0x10013011
cmp edi, dword [0x10099f7c]
je 0x10013011
mov dword [0x10099f7c], edi
mov edx, edi
mov ecx, dword [esi + 0x18]
call fcn.1000c589
mov ecx, dword [esi + 0x20]
mov edx, edi
call fcn.1000c68a
movd xmm0, dword [0x10099f7c]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x10087010]
movss dword [0x10091a9c], xmm0
call fcn.1001251a
mov edx, dword [0x10099f7c]
lea ecx, [ebp - 0x164]
call fcn.1000a6ea
mov edx, eax
cmp dword [edx + 0x14], 0x10
jb 0x10012f8a
mov edx, dword [edx]
mov cl, 0x75
mov dword [ebp - 0x144], 0x18143675
mov dword [ebp - 0x140], 0x27140710
xor eax, eax
mov dword [ebp - 0x13c], 0x10121b14
mov byte [ebp - 0x138], 0
xor byte [ebp + eax - 0x143], cl
inc eax
cmp eax, 0xb
jae 0x10012fc8
mov cl, byte [ebp - 0x144]
jmp 0x10012fb3
mov byte [ebp - 0x138], 0
xor eax, eax
mov byte [ebp - 0x134], bl
mov dword [ebp - 0x133], 0x69796347
mov byte [ebp - 0x12f], 0
xor byte [ebp + eax - 0x133], bl
inc eax
cmp eax, 4
jae 0x10012ffd
mov bl, byte [ebp - 0x134]
jmp 0x10012fe8
xor ebx, ebx
lea eax, [ebp - 0x114]
push eax
lea eax, [ebp - 0x143]
jmp 0x10012ede
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x12c]
call fcn.100027bc
mov al, 1
jmp 0x10013027
xor al, al
call fcn.10039aca
ret 8