Function at 0x110fc440
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x111e3b31
mov eax, dword fs:[0]
push eax
mov eax, 0x4704
call fcn.111d92c0
mov eax, dword [0x11279148]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x4674], esi
cmp esi, edi
jne 0x110fc4b4
push 0xac
lea eax, [ebp - 0x534]
push edi
push eax
call sub.MSVCR100.dll_memset
lea esi, [ebp - 0x534]
add esp, 0xc
mov dword [ebp - 0x4674], esi
call dword [sym.imp.KERNEL32.dll_GetVersion]
cmp al, 6
sbb ecx, ecx
neg ecx
mov dword [ebp - 0x4f0], ecx
lea ecx, [ebp - 0x4710]
mov dword [ebp - 0x4678], edi
mov dword [ebp - 0x468c], edi
call fcn.1102fb70
mov eax, dword [ebp - 0x46ec]
mov ebx, dword [ebp - 0x4710]
mov dword [ebp - 4], edi
cmp eax, edi
jne 0x110fc4f4
push 0x11220e48
push ebx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x46ec], eax
cmp eax, edi
je 0x110fc534
call eax
mov dword [ebp - 0x467c], eax
cmp eax, edi
jne 0x110fc8e6
mov esi, dword [ebp - 0x4674]
mov ebx, dword [ebp - 0x4710]
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [esi + 0x44], edi
jne 0x110fc544
cmp eax, 0x78
je 0x110fc552
cmp ebx, edi
je 0x110fc52d
push ebx
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x110fca63
push 0x78
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov dword [ebp - 0x467c], edi
jmp 0x110fc512
cmp eax, 0x78
je 0x110fc552
cmp dword [esi + 0x40], edi
je 0x110fc602
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call esi
push 0x4f
mov ebx, eax
call esi
mov edi, eax
test ebx, ebx
jne 0x110fc56d
push ebx
call esi
mov ebx, eax
test edi, edi
jne 0x110fc577
push 1
call esi
mov edi, eax
mov edx, dword [ebp - 0x4674]
mov eax, dword [edx + 0x40]
test eax, eax
je 0x110fc5e8
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x110fc5e8
mov esi, dword [ebp - 0x4674]
mov eax, dword [esi + 0x40]
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x10000000
je 0x110fc5ee
mov edx, dword [esi + 0x40]
lea ecx, [ebp - 0x488]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x110fc5ee
mov eax, dword [ebp - 0x480]
sub eax, dword [ebp - 0x488]
cmp eax, ebx
jne 0x110fc5ee
mov ecx, dword [ebp - 0x47c]
sub ecx, dword [ebp - 0x484]
cmp ecx, edi
jne 0x110fc5ee
mov edx, dword [esi + 0x40]
mov dword [ebp - 0x467c], edx
jmp 0x110fc5ee
mov esi, dword [ebp - 0x4674]
cmp dword [ebp - 0x467c], 0
mov dword [esi + 0x40], 0
jne 0x110fc8e6
mov eax, dword [ebp - 0x4674]
lea edx, [ebp - 0x50]
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x110fc610
cmp word [ebp - 0x50], cx
jne 0x110fc644
xor eax, eax
jmp 0x110fc630
movzx ecx, word [eax + str.Progman]
mov word [ebp + eax - 0x50], cx
add eax, 2
test cx, cx
jne 0x110fc630
push 0
lea eax, [ebp - 0x50]
push eax
call dword [sym.imp.USER32.dll_FindWindowW]
mov dword [ebp - 0x467c], eax
test eax, eax
jne 0x110fc8e6
mov ecx, dword [ebp - 0x4674]
push ecx
call fcn.110fc3a0
add esp, 4
mov dword [ebp - 0x467c], eax
test eax, eax
jne 0x110fc8e6
mov edx, dword [ebp - 0x4674]
cmp dword [edx + 0x44], eax
je 0x110fc8e6
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov bl, al
cmp bl, 5
jb 0x110fc8c5
lea ecx, [ebp - 0x68]
call fcn.11030fd0
lea eax, [ebp - 0x468c]
push eax
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
lea ecx, [ebp - 0x68]
call fcn.1107c210
cmp dword [ebp - 0x468c], 0
jne 0x110fc6cf
cmp bl, 5
jne 0x110fc8b3
push 0
lea ecx, [ebp - 0x4670]
call fcn.110fb700
lea ecx, [ebp - 0x4688]
push ecx
lea ecx, [ebp - 0x4670]
call fcn.110fbd80
mov edi, dword [ebp - 0x4684]
mov esi, dword [ebp - 0x4688]
mov byte [ebp - 4], 3
mov edi, edi
lea edx, [ebp - 0x484]
push edx
lea ecx, [ebp - 0x4670]
call fcn.110fbda0
cmp edi, dword [eax + 4]
jne 0x110fc71f
cmp esi, dword [eax]
jne 0x110fc71f
xor bl, bl
jmp 0x110fc721
mov bl, 1
mov eax, dword [ebp - 0x47c]
test eax, eax
je 0x110fc73c
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x47c], 0
test bl, bl
je 0x110fc88e
cmp byte [edi + 0x4060], 0
je 0x110fc75d
mov ecx, dword [edi + 0x4058]
mov eax, esi
add eax, eax
mov ebx, dword [ecx + eax*8 + 4]
jmp 0x110fc761
mov ebx, dword [edi + esi*4 + 0x24]
test ebx, ebx
je 0x110fc84d
push esi
mov ecx, edi
call fcn.110fba20
cmp eax, dword [ebp - 0x468c]
jne 0x110fc84d
push 0x104
lea eax, [ebp - 0x478]
xor edx, edx
push eax
lea ecx, [ebp - 0x4688]
mov word [ebp - 0x478], dx
call fcn.110fc150
mov esi, eax
test esi, esi
je 0x110fc841
mov edi, dword [sym.imp.MSVCR100.dll__wcsicmp]
push str.svchost.exe
push esi
call edi
add esp, 8
test eax, eax
je 0x110fc841
push str.taskeng.exe
push esi
call edi
add esp, 8
test eax, eax
je 0x110fc841
push str.taskhost.exe
push esi
call edi
add esp, 8
test eax, eax
je 0x110fc841
push str.runplugin.exe
push esi
call edi
add esp, 8
test eax, eax
je 0x110fc841
push str.cicplugin.exe
push esi
call edi
add esp, 8
test eax, eax
je 0x110fc841
push str.control.exe
push esi
call edi
add esp, 8
test eax, eax
je 0x110fc841
xor ecx, ecx
push ecx
push ecx
push ecx
push 0x100
lea edx, [ebp - 0x268]
push edx
mov word [ebp - 0x268], cx
push 0x1000
lea ecx, [ebp - 0x4688]
call fcn.110fbd30
push eax
call fcn.110fc0e0
add esp, 0x18
cmp eax, 3
jge 0x110fc874
mov edi, dword [ebp - 0x4684]
mov esi, dword [ebp - 0x4688]
mov eax, dword [ebp - 0x4680]
test eax, eax
je 0x110fc868
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x4680], 0
inc esi
mov dword [ebp - 0x4688], esi
jmp 0x110fc700
lea eax, [ebp - 0x478]
push eax
push str.Info._Getting_username_from__s_n
call fcn.111bd7b0
add esp, 8
mov dword [ebp - 0x4678], ebx
cmp dword [ebp - 0x4680], 0
je 0x110fc8a4
mov ecx, dword [ebp - 0x4680]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x4670]
mov byte [ebp - 4], 1
call fcn.110fb930
mov eax, dword [ebp - 0x68]
mov byte [ebp - 4], 0
test eax, eax
je 0x110fc8c5
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp dword [ebp - 0x4678], 0
jne 0x110fc907
mov eax, dword [ebp - 0x4710]
test eax, eax
je 0x110fc8df
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
jmp 0x110fca63
cmp dword [ebp - 0x4678], 0
jne 0x110fc907
mov eax, dword [ebp - 0x467c]
lea edx, [ebp - 0x4678]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
test eax, eax
jmp 0x110fc8cc
mov ecx, dword [ebp - 0x4678]
push ecx
push 0
push 0x440
mov dword [ebp - 0x4690], 0
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x110fca1c
lea edx, [ebp - 0x4690]
push edx
push 0x2000b
push esi
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x110fc96c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Warning._OpenProcessToken_failed__e_d_n
call fcn.111bd7b0
add esp, 8
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x467c]
jmp 0x110fca39
mov eax, dword [ebp - 0x4674]
cmp dword [eax + 0x44], 0
je 0x110fca0d
mov ecx, dword [ebp - 0x4678]
cmp ecx, dword [0x1127c868]
je 0x110fca0d
xor edx, edx
lea ecx, [ebp - 0x34]
mov word [ebp - 0x270], dx
call fcn.1102fc40
push 0x104
lea eax, [ebp - 0x270]
push eax
push esi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 4
call fcn.11063140
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x110fc9c6
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp word [ebp - 0x270], 0
lea ebx, [ebp - 0x270]
je 0x110fc9eb
mov ecx, ebx
push 0x5c
push ecx
call dword [sym.imp.MSVCR100.dll_wcsrchr]
add esp, 8
test eax, eax
je 0x110fc9eb
lea ebx, [eax + 2]
mov eax, dword [ebp - 0x4678]
push ebx
push eax
push eax
push str.Impersonating_user__pid_x_x___d___exe_s_n
call fcn.111bd7b0
mov edx, dword [ebp - 0x4678]
add esp, 0x10
mov dword [0x1127c868], edx
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [ebp - 0x467c]
jmp 0x110fca39
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
mov eax, dword [ebp - 0x4678]
push eax
push str.Warning._OpenProcess_failed_for_pid__x__e_d_n
call fcn.111bd7b0
add esp, 0xc
xor ecx, ecx
mov eax, dword [ebp - 0x4690]
test eax, eax
jne 0x110fca45
xor ecx, ecx
mov edx, dword [ebp - 0x4674]
mov esi, eax
mov eax, dword [ebp - 0x4710]
mov dword [edx + 0x40], ecx
test eax, eax
je 0x110fca61
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.111d9022
mov esp, ebp
pop ebp
ret