Function at 0x705c20
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 0x7060e1
push dword fs:[eax]
mov dword fs:[eax], esp
or edi, 0xffffffff
or esi, 0xffffffff
xor ebx, ebx
lea eax, [ebp - 0x14c]
call fcn.0043968c
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 4]
call fcn.0042f3b4
call fcn.00439660
dec eax
je 0x705c9b
dec eax
je 0x705d23
jmp case.default.0x705f0c
call fcn.0043967c
sub eax, 0xa
jb 0x705cb1
sub eax, 0x50
jb 0x705cdd
je 0x705d1c
jmp case.default.0x705f0c
mov eax, dword [ebp - 4]
mov edx, 0x706100
call fcn.0040cc24
je 0x705ccf
mov eax, dword [ebp - 4]
mov edx, 0x706110
call fcn.0040cc24
jne 0x705cd6
mov bl, 2
jmp case.default.0x705f0c
mov bl, 1
jmp case.default.0x705f0c
cmp dword [0x96d0ec], 0x4005a
jne 0x705cf0
mov bl, 5
jmp case.default.0x705f0c
mov eax, dword [ebp - 4]
mov edx, 0x706120
call fcn.0040cc24
je 0x705d0e
mov eax, dword [ebp - 4]
mov edx, 0x706100
call fcn.0040cc24
jne 0x705d15
mov bl, 4
jmp case.default.0x705f0c
mov bl, 3
jmp case.default.0x705f0c
mov bl, 5
jmp case.default.0x705f0c
call fcn.00439674
add eax, 0xfffffffd
cmp eax, 7
ja case.default.0x705f0c
jmp dword [eax*4 + 0x705d3b]
call fcn.0043967c
dec eax
je 0x705d72
sub eax, 4
je 0x705d79
sub eax, 0x2e
je 0x705d80
jmp case.default.0x705f0c
mov bl, 6
jmp case.default.0x705f0c
mov bl, 7
jmp case.default.0x705f0c
mov bl, 8
jmp case.default.0x705f0c
mov bl, 9
jmp case.default.0x705f0c
call fcn.0043967c
sub eax, 1
jb 0x705da2
je 0x705da9
dec eax
je 0x705db0
jmp case.default.0x705f0c
mov bl, 0xa
jmp case.default.0x705f0c
mov bl, 0xb
jmp case.default.0x705f0c
mov dword [ebp - 0x148], 0x11c
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
call fcn.0070742c
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x705dd9
mov bl, 0xe
jmp case.default.0x705f0c
cmp word [ebp - 0x2c], 0
je 0x705dfd
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x705dfd
cmp byte [ebp - 0x2e], 1
jne 0x705dfd
mov bl, 0xd
jmp case.default.0x705f0c
mov bl, 0xc
jmp case.default.0x705f0c
call fcn.0043967c
cmp eax, 2
jne 0x705efa
lea eax, [ebp - 8]
call fcn.00706da4
lea edx, [ebp - 0x150]
mov eax, dword [0x8d2608]
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 0x705e46
mov al, 1
jmp 0x705e6c
lea edx, [ebp - 0x154]
mov eax, dword [0x8d2798]
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 0x705e7a
mov esi, 3
jmp 0x705f01
lea edx, [ebp - 0x158]
mov eax, dword [0x8d2c24]
call fcn.00412390
mov eax, dword [ebp - 0x158]
mov ecx, 1
mov edx, esi
call fcn.0040cdb0
dec eax
jne 0x705ea3
mov al, 1
jmp 0x705ec9
lea edx, [ebp - 0x15c]
mov eax, dword [0x8d2ce4]
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 0x705ed4
mov esi, 2
jmp 0x705f01
call fcn.00706fc4
mov edi, eax
cmp edi, 6
jne 0x705ee7
mov esi, 4
jmp 0x705f01
cmp edi, 0xa
jne 0x705ef1
or esi, 0xffffffff
jmp 0x705f01
call fcn.0043967c
mov esi, eax
jmp 0x705f01
call fcn.0043967c
mov esi, eax
mov eax, esi
cmp eax, 4
ja case.default.0x705f0c
jmp dword [eax*4 + 0x705f13]
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x705f4e
cmp byte [ebp - 0x2e], 1
jne 0x705f4e
mov bl, 0xf
jmp case.default.0x705f0c
mov bl, 0x10
jmp case.default.0x705f0c
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x705f7c
cmp byte [ebp - 0x2e], 1
jne 0x705f7c
mov bl, 0x11
jmp case.default.0x705f0c
mov bl, 0x12
jmp case.default.0x705f0c
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x705fa7
cmp byte [ebp - 0x2e], 1
jne 0x705fa7
mov bl, 0x13
jmp case.default.0x705f0c
mov bl, 0x15
jmp case.default.0x705f0c
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x705fcf
cmp byte [ebp - 0x2e], 1
jne 0x705fcf
mov bl, 0x16
jmp case.default.0x705f0c
mov bl, 0x18
jmp case.default.0x705f0c
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x705ff7
cmp byte [ebp - 0x2e], 1
jne 0x705ff7
mov bl, 0x19
jmp case.default.0x705f0c
mov bl, 0x1a
jmp case.default.0x705f0c
call fcn.00439674
mov edi, eax
call fcn.0043967c
mov esi, eax
cmp edi, 0xa
jl 0x7060b4
sub edi, 0xa
jne 0x7060b4
cmp esi, 0xffffffff
jne 0x706027
call fcn.007071f4
mov esi, eax
sub esi, 1
jae 0x7060b4
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x706064
cmp byte [ebp - 0x2e], 1
jne 0x706064
call fcn.00706e60
cmp eax, 0x55f0
jl 0x706060
mov bl, 0x1d
jmp 0x7060b4
mov bl, 0x19
jmp 0x7060b4
push 0
lea eax, [ebp - 0x160]
push eax
mov ecx, 0x706130
mov edx, 0x706140
mov eax, 0x706160
call fcn.00705ae0
mov eax, dword [ebp - 0x160]
or edx, 0xffffffff
call fcn.0042fff0
sub eax, 0x647
je 0x7060a6
sub eax, 0xca
je 0x7060aa
sub eax, 0xc8
je 0x7060ae
jmp 0x7060b2
mov bl, 0x1a
jmp 0x7060b4
mov bl, 0x1b
jmp 0x7060b4
mov bl, 0x1e
jmp 0x7060b4
mov bl, 0x1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x7060e8
lea eax, [ebp - 0x160]
mov edx, 6
call fcn.0040b914
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040b914
pop eax
jmp eax