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

Disassembly:
push 0x1ac
mov eax, 0x10078c4a
call fcn.10040a5d
mov esi, ecx
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x20]
mov dword [0x100a61ac], eax
test edi, edi
je 0x1001657d
cmp dword [ebp + 0xc], 1
jne 0x1001657d
push 0x104
xor ebx, ebx
lea eax, [ebp - 0x11c]
push ebx
push eax
call fcn.10042b60
add esp, 0xc
mov dword [ebp - 0x138], 0xf
mov dword [ebp - 4], ebx
mov eax, 0x100a2e48
cmp dword [0x100a2e5c], 0x10
mov dword [ebp - 0x13c], ebx
cmovae eax, dword [0x100a2e48]
push eax
lea eax, [ebp - 0x11c]
mov byte [ebp - 0x14c], bl
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov cl, 0x5b
mov dword [ebp - 0x128], 0x2f2b145b
mov dword [ebp - 0x124], 0x75353432
mov eax, ebx
mov dword [ebp - 0x120], 0x323512
xor byte [ebp + eax - 0x127], cl
inc eax
cmp eax, 0xa
jae 0x10016050
mov cl, byte [ebp - 0x128]
jmp 0x1001603b
lea eax, [ebp - 0x127]
mov byte [ebp - 0x11d], bl
push eax
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatA]
cmp dword [esi], 0
je 0x1001607f
cmp edi, dword [esi]
jne 0x1001607f
mov ecx, esi
call fcn.100166d6
jmp 0x1001656b
cmp dword [esi + 4], 0
je 0x100162f6
cmp edi, dword [esi + 4]
jne 0x100162f6
cmp dword [0x100aa430], 1
jne 0x1001656b
mov ecx, dword [esi + 0x18]
mov byte [0x100a610b], 1
call fcn.1000f96d
push eax
lea ecx, [ebp - 0x134]
call fcn.10003baa
mov edi, ebx
mov byte [ebp - 4], 1
cmp dword [ebp - 0x124], edi
jbe 0x100160f8
cmp dword [ebp - 0x120], 0x10
lea eax, [ebp - 0x134]
cmovae eax, dword [ebp - 0x134]
movsx eax, byte [eax + edi]
push eax
call fcn.10049eac
pop ecx
test eax, eax
je 0x10016205
inc edi
cmp edi, dword [ebp - 0x124]
jb 0x100160c8
mov ecx, dword [esi + 0x18]
call fcn.1000f96d
cmp dword [eax + 0x14], 0x10
jb 0x10016108
mov eax, dword [eax]
push eax
call fcn.1004a90c
mov dword [esi + 0x1c], eax
pop ecx
cmp eax, 0x64
jle 0x100161fa
movaps xmm0, xmmword [0x10096020]
mov ecx, ebx
movups xmmword [ebp - 0x160], xmm0
mov word [ebp - 0x150], 0x7568
mov byte [ebp - 0x14e], bl
mov al, byte [ebp - 0x160]
xor byte [ebp + ecx - 0x15f], al
inc ecx
cmp ecx, 0x11
jb 0x1001613a
lea eax, [ebp - 0x15f]
mov byte [ebp - 0x14e], bl
push eax
lea ecx, [ebp - 0x1a0]
call fcn.10004181
mov byte [ebp - 4], 4
mov ecx, ebx
movaps xmm0, xmmword [0x100956c0]
movups xmmword [ebp - 0x184], xmm0
mov dword [ebp - 0x164], 0x222d66
movaps xmm0, xmmword [0x10095db0]
movups xmmword [ebp - 0x174], xmm0
mov al, byte [ebp - 0x184]
xor byte [ebp + ecx - 0x183], al
inc ecx
cmp ecx, 0x22
jb 0x10016191
lea eax, [ebp - 0x183]
mov byte [ebp - 0x161], bl
push eax
lea ecx, [ebp - 0x1b8]
call fcn.10004181
push ebx
push ecx
mov byte [ebp - 4], 5
lea eax, [ebp - 0x1a0]
and dword [esp], 0
push ebx
push ebx
push ebx
push eax
lea eax, [ebp - 0x1b8]
push eax
push eax
call dword [0x10093d04]
push ebx
push 1
lea ecx, [ebp - 0x1b8]
call fcn.10004036
push ebx
push 1
lea ecx, [ebp - 0x1a0]
call fcn.10004036
lea ecx, [ebp - 0x134]
jmp 0x10016563
movaps xmm0, xmmword [0x10095970]
mov ecx, ebx
movups xmmword [ebp - 0x160], xmm0
mov word [ebp - 0x150], 0x3b26
mov byte [ebp - 0x14e], bl
mov al, byte [ebp - 0x160]
xor byte [ebp + ecx - 0x15f], al
inc ecx
cmp ecx, 0x11
jb 0x10016224
lea eax, [ebp - 0x15f]
mov byte [ebp - 0x14e], bl
push eax
lea ecx, [ebp - 0x1a0]
call fcn.10004181
mov byte [ebp - 4], 2
mov ecx, ebx
movaps xmm0, xmmword [str.3vKP_R_TV]
movups xmmword [ebp - 0x188], xmm0
mov dword [ebp - 0x168], 0x56515e46
movaps xmm0, xmmword [0x10095cf0]
movups xmmword [ebp - 0x178], xmm0
mov dword [ebp - 0x164], 0x121d41
mov al, byte [ebp - 0x188]
xor byte [ebp + ecx - 0x187], al
inc ecx
cmp ecx, 0x26
jb 0x10016285
lea eax, [ebp - 0x187]
mov byte [ebp - 0x161], bl
push eax
lea ecx, [ebp - 0x1b8]
call fcn.10004181
push ebx
push ecx
mov byte [ebp - 4], 3
lea eax, [ebp - 0x1a0]
and dword [esp], 0
push ebx
push ebx
push ebx
push eax
lea eax, [ebp - 0x1b8]
push eax
push eax
call dword [0x10093d04]
push ebx
push 1
lea ecx, [ebp - 0x1b8]
call fcn.10004036
push ebx
push 1
lea ecx, [ebp - 0x1a0]
call fcn.10004036
mov dword [esi + 0x1c], ebx
jmp 0x100161fa
cmp dword [esi + 8], 0
je 0x10016305
cmp edi, dword [esi + 8]
je 0x1001656b
cmp dword [esi + 0xc], 0
je 0x100163bb
cmp edi, dword [esi + 0xc]
jne 0x100163bb
xor edx, edx
lea ecx, [ebp - 0x1a0]
cmp dword [0x100aa430], 1
setne dl
mov dword [0x100aa430], edx
call fcn.1000de3b
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x1001633f
mov ecx, dword [ecx]
mov dl, 0x51
mov dword [ebp - 0x124], 0x25241051
mov word [ebp - 0x120], 0x3e
mov eax, ebx
xor byte [ebp + eax - 0x123], dl
inc eax
cmp eax, 4
jae 0x1001636b
mov dl, byte [ebp - 0x124]
jmp 0x10016356
mov byte [ebp - 0x11f], bl
mov dl, 0x6a
mov dword [ebp - 0x15c], 0xf033a6a
mov eax, ebx
mov dword [ebp - 0x158], 0x122f0f09
mov dword [ebp - 0x154], 0x40b0209
mov word [ebp - 0x150], 0xf0d
mov byte [ebp - 0x14e], bl
xor byte [ebp + eax - 0x15b], dl
inc eax
cmp eax, 0xd
jae 0x1001653b
mov dl, byte [ebp - 0x15c]
jmp 0x100163a2
cmp dword [esi + 0x10], 0
je 0x10016489
cmp edi, dword [esi + 0x10]
jne 0x10016489
xor edx, edx
lea ecx, [ebp - 0x1a0]
cmp dword [0x100aa434], 1
setne dl
mov dword [0x100aa434], edx
call fcn.1000de3b
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x100163f5
mov ecx, dword [ecx]
mov dl, 0x21
mov dword [ebp - 0x128], 0x4e557221
mov dword [ebp - 0x124], 0x4f684a42
mov eax, ebx
mov word [ebp - 0x120], 0x4f
xor byte [ebp + eax - 0x127], dl
inc eax
cmp eax, 8
jae 0x1001642b
mov dl, byte [ebp - 0x128]
jmp 0x10016416
mov byte [ebp - 0x11f], bl
mov dl, 0x64
mov dword [ebp - 0x15c], 0x10d3464
mov eax, ebx
mov dword [ebp - 0x158], 0x1c210107
mov dword [ebp - 0x154], 0xa050c07
mov word [ebp - 0x150], 0x103
mov byte [ebp - 0x14e], bl
xor byte [ebp + eax - 0x15b], dl
inc eax
cmp eax, 0xd
jae 0x10016477
mov dl, byte [ebp - 0x15c]
jmp 0x10016462
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x127]
jmp 0x10016548
cmp dword [esi + 0x14], 0
je 0x1001656b
cmp edi, dword [esi + 0x14]
jne 0x1001656b
xor edx, edx
lea ecx, [ebp - 0x1a0]
cmp dword [0x100aa438], 1
setne dl
mov dword [0x100aa438], edx
call fcn.1000de3b
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x100164c3
mov ecx, dword [ecx]
mov dl, 0x26
mov dword [ebp - 0x124], 0x4a437526
mov word [ebp - 0x120], 0x4a
mov eax, ebx
xor byte [ebp + eax - 0x123], dl
inc eax
cmp eax, 4
jae 0x100164ef
mov dl, byte [ebp - 0x124]
jmp 0x100164da
mov byte [ebp - 0x11f], bl
mov dl, 0x58
mov dword [ebp - 0x15c], 0x3d310858
mov eax, ebx
mov dword [ebp - 0x158], 0x201d3d3b
mov dword [ebp - 0x154], 0x3639303b
mov word [ebp - 0x150], 0x3d3f
mov byte [ebp - 0x14e], bl
xor byte [ebp + eax - 0x15b], dl
inc eax
cmp eax, 0xd
jae 0x1001653b
mov dl, byte [ebp - 0x15c]
jmp 0x10016526
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x123]
push ecx
push eax
lea eax, [ebp - 0x15b]
mov byte [ebp - 0x14e], bl
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
lea ecx, [ebp - 0x1a0]
push ebx
push 1
call fcn.10004036
push ebx
push 1
lea ecx, [ebp - 0x14c]
call fcn.10004036
mov al, 1
jmp 0x1001657f
xor al, al
call fcn.10040a07
ret 8