Function at 0x40f0b0
Capabilities:
Check os version
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1970
call fcn.004932a0
mov eax, dword [0x4f84d8]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
mov edi, edx
cmp dword [esi + 0x10], 0
jne 0x40f0ea
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00486203
mov esp, ebp
pop ebp
ret
xor eax, eax
push 0x7fe
push eax
mov word [ebp - 0x80c], ax
lea eax, [ebp - 0x80a]
push eax
call fcn.0048f1a0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x180c], ax
push 0x7fe
push eax
lea eax, [ebp - 0x180a]
push eax
call fcn.0048f1a0
add esp, 0xc
xor eax, eax
mov word [ebp - 0x100c], ax
push 0x7fe
push eax
lea eax, [ebp - 0x100a]
push eax
call fcn.0048f1a0
add esp, 0xc
cmp dword [esi + 0x14], 8
jb 0x40f14e
mov eax, dword [esi]
jmp 0x40f150
mov eax, esi
push eax
lea eax, [ebp - 0x80c]
push 0x400
push eax
call fcn.0048cb20
add esp, 0xc
cmp dword [edi + 0x14], 8
jb 0x40f16f
mov eax, dword [edi]
jmp 0x40f171
mov eax, edi
push eax
lea eax, [ebp - 0x180c]
push 0x400
push eax
call fcn.0048cb20
add esp, 0xc
cmp dword [ebx + 0x14], 8
jb 0x40f18e
mov ebx, dword [ebx]
push ebx
lea eax, [ebp - 0x100c]
push 0x400
push eax
call fcn.0048cb20
mov ebx, dword [sym.imp.KERNEL32.dll_GetVersionExW]
lea eax, [ebp - 0x192c]
add esp, 0xc
mov dword [ebp - 0x1930], 0xffffffff
mov dword [ebp - 0x196c], 0x3c
mov dword [ebp - 0x1968], 0x440
mov dword [ebp - 0x1964], 0
push eax
mov dword [ebp - 0x1960], 0x4db084
mov dword [ebp - 0x192c], 0x11c
call ebx
test eax, eax
jne 0x40f205
lea eax, [ebp - 0x192c]
mov dword [ebp - 0x192c], 0x114
push eax
call ebx
push dword [ebp - 0x1928]
push str.windows_os_dwMajorVersion___d
push 0x67c
push str.isWin7OS
call fcn.0042c780
add esp, 0x10
mov dword [ebp - 0x1950], 0
cmp dword [ebp - 0x1928], 6
mov eax, str.runas
mov dword [ebp - 0x194c], 0
cmovb eax, dword [ebp - 0x1960]
mov dword [ebp - 0x1960], eax
lea eax, [ebp - 0x80c]
mov dword [ebp - 0x195c], eax
lea eax, [ebp - 0x180c]
mov dword [ebp - 0x1958], eax
lea eax, [ebp - 0x100c]
mov dword [ebp - 0x1954], eax
lea eax, [ebp - 0x196c]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
cmp eax, 1
jne 0x40f2f4
push 0x7d0
push dword [ebp - 0x1934]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x40f2be
cmp eax, 0x102
je 0x40f2b2
cmp eax, 0xffffffff
jne 0x40f2d5
push str.execute_failed___
push 0x717
jmp 0x40f2c8
push str.execute_timeout___
push 0x712
jmp 0x40f2c8
push str.execute_signaled.
push 0x70d
push str.executeExe
call fcn.0042c780
add esp, 0xc
lea eax, [ebp - 0x1930]
push eax
push dword [ebp - 0x1934]
call dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
push dword [ebp - 0x1934]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x192c]
mov dword [ebp - 0x192c], 0x11c
push eax
call ebx
test eax, eax
jne 0x40f31e
lea eax, [ebp - 0x192c]
mov dword [ebp - 0x192c], 0x114
push eax
call ebx
push dword [ebp - 0x1928]
push str.windows_os_dwMajorVersion___d
push 0x67c
push str.isWin7OS
call fcn.0042c780
add esp, 0x10
cmp dword [ebp - 0x1928], 6
setae al
cmp dword [edi + 0x14], 8
jb 0x40f34d
mov edi, dword [edi]
cmp dword [esi + 0x14], 8
jb 0x40f355
mov esi, dword [esi]
movzx eax, al
push eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push dword [ebp - 0x1930]
push edi
push esi
push str.execute_filename___s__param___s__exitcode___d_lasterror___d_win7____d
push 0x720
push str.executeExe
call fcn.0042c780
mov ecx, dword [ebp - 8]
add esp, 0x20
xor eax, eax
cmp dword [ebp - 0x1930], eax
pop edi
sete al
xor ecx, ebp
pop esi
pop ebx
call fcn.00486203
mov esp, ebp
pop ebp
ret