Function at 0x705ec8
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea0
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x706389
push dword fs:[eax]
mov dword fs:[eax], esp
or edi, 0xffffffff
or esi, 0xffffffff
xor ebx, ebx
lea eax, [ebp - 0x14c]
call fcn.00439d80
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 4]
call fcn.0042faa8
call fcn.00439d54
dec eax
je 0x705f43
dec eax
je 0x705fcb
jmp case.default.0x7061b4
call fcn.00439d70
sub eax, 0xa
jb 0x705f59
sub eax, 0x50
jb 0x705f85
je 0x705fc4
jmp case.default.0x7061b4
mov eax, dword [ebp - 4]
mov edx, 0x7063a8
call fcn.0040cc24
je 0x705f77
mov eax, dword [ebp - 4]
mov edx, 0x7063b8
call fcn.0040cc24
jne 0x705f7e
mov bl, 2
jmp case.default.0x7061b4
mov bl, 1
jmp case.default.0x7061b4
cmp dword [0x9780ec], 0x4005a
jne 0x705f98
mov bl, 5
jmp case.default.0x7061b4
mov eax, dword [ebp - 4]
mov edx, 0x7063c8
call fcn.0040cc24
je 0x705fb6
mov eax, dword [ebp - 4]
mov edx, 0x7063a8
call fcn.0040cc24
jne 0x705fbd
mov bl, 4
jmp case.default.0x7061b4
mov bl, 3
jmp case.default.0x7061b4
mov bl, 5
jmp case.default.0x7061b4
call fcn.00439d68
add eax, 0xfffffffd
cmp eax, 7
ja case.default.0x7061b4
jmp dword [eax*4 + 0x705fe3]
call fcn.00439d70
dec eax
je 0x70601a
sub eax, 4
je 0x706021
sub eax, 0x2e
je 0x706028
jmp case.default.0x7061b4
mov bl, 6
jmp case.default.0x7061b4
mov bl, 7
jmp case.default.0x7061b4
mov bl, 8
jmp case.default.0x7061b4
mov bl, 9
jmp case.default.0x7061b4
call fcn.00439d70
sub eax, 1
jb 0x70604a
je 0x706051
dec eax
je 0x706058
jmp case.default.0x7061b4
mov bl, 0xa
jmp case.default.0x7061b4
mov bl, 0xb
jmp case.default.0x7061b4
mov dword [ebp - 0x148], 0x11c
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
call fcn.007076d4
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x706081
mov bl, 0xe
jmp case.default.0x7061b4
cmp word [ebp - 0x2c], 0
je 0x7060a5
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x7060a5
cmp byte [ebp - 0x2e], 1
jne 0x7060a5
mov bl, 0xd
jmp case.default.0x7061b4
mov bl, 0xc
jmp case.default.0x7061b4
call fcn.00439d70
cmp eax, 2
jne 0x7061a2
lea eax, [ebp - 8]
call fcn.0070704c
lea edx, [ebp - 0x150]
mov eax, dword [0x8dd5a8]
call fcn.00412390
mov eax, dword [ebp - 0x150]
mov ecx, 1
mov esi, dword [ebp - 8]
mov edx, esi
call fcn.0040cdb0
dec eax
jne 0x7060ee
mov al, 1
jmp 0x706114
lea edx, [ebp - 0x154]
mov eax, dword [0x8dd738]
call fcn.00412390
mov eax, dword [ebp - 0x154]
mov ecx, 1
mov edx, esi
call fcn.0040cdb0
dec eax
sete al
test al, al
je 0x706122
mov esi, 3
jmp 0x7061a9
lea edx, [ebp - 0x158]
mov eax, dword [0x8ddbc0]
call fcn.00412390
mov eax, dword [ebp - 0x158]
mov ecx, 1
mov edx, esi
call fcn.0040cdb0
dec eax
jne 0x70614b
mov al, 1
jmp 0x706171
lea edx, [ebp - 0x15c]
mov eax, dword [0x8ddc80]
call fcn.00412390
mov eax, dword [ebp - 0x15c]
mov ecx, 1
mov edx, esi
call fcn.0040cdb0
dec eax
sete al
test al, al
je 0x70617c
mov esi, 2
jmp 0x7061a9
call fcn.0070726c
mov edi, eax
cmp edi, 6
jne 0x70618f
mov esi, 4
jmp 0x7061a9
cmp edi, 0xa
jne 0x706199
or esi, 0xffffffff
jmp 0x7061a9
call fcn.00439d70
mov esi, eax
jmp 0x7061a9
call fcn.00439d70
mov esi, eax
mov eax, esi
cmp eax, 4
ja case.default.0x7061b4
jmp dword [eax*4 + 0x7061bb]
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x7061f6
cmp byte [ebp - 0x2e], 1
jne 0x7061f6
mov bl, 0xf
jmp case.default.0x7061b4
mov bl, 0x10
jmp case.default.0x7061b4
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x706224
cmp byte [ebp - 0x2e], 1
jne 0x706224
mov bl, 0x11
jmp case.default.0x7061b4
mov bl, 0x12
jmp case.default.0x7061b4
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x70624f
cmp byte [ebp - 0x2e], 1
jne 0x70624f
mov bl, 0x13
jmp case.default.0x7061b4
mov bl, 0x15
jmp case.default.0x7061b4
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x706277
cmp byte [ebp - 0x2e], 1
jne 0x706277
mov bl, 0x16
jmp case.default.0x7061b4
mov bl, 0x18
jmp case.default.0x7061b4
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x70629f
cmp byte [ebp - 0x2e], 1
jne 0x70629f
mov bl, 0x19
jmp case.default.0x7061b4
mov bl, 0x1a
jmp case.default.0x7061b4
call fcn.00439d68
mov edi, eax
call fcn.00439d70
mov esi, eax
cmp edi, 0xa
jl 0x70635c
sub edi, 0xa
jne 0x70635c
cmp esi, 0xffffffff
jne 0x7062cf
call fcn.0070749c
mov esi, eax
sub esi, 1
jae 0x70635c
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x70630c
cmp byte [ebp - 0x2e], 1
jne 0x70630c
call fcn.00707108
cmp eax, 0x55f0
jl 0x706308
mov bl, 0x1d
jmp 0x70635c
mov bl, 0x19
jmp 0x70635c
push 0
lea eax, [ebp - 0x160]
push eax
mov ecx, 0x7063d8
mov edx, 0x7063e8
mov eax, 0x706408
call fcn.00705d88
mov eax, dword [ebp - 0x160]
or edx, 0xffffffff
call fcn.004306e4
sub eax, 0x647
je 0x70634e
sub eax, 0xca
je 0x706352
sub eax, 0xc8
je 0x706356
jmp 0x70635a
mov bl, 0x1a
jmp 0x70635c
mov bl, 0x1b
jmp 0x70635c
mov bl, 0x1e
jmp 0x70635c
mov bl, 0x1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x706390
lea eax, [ebp - 0x160]
mov edx, 6
call fcn.0040b914
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040b914
pop eax
jmp eax