Function at 0x76b77c
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 0x76bc1e
push dword fs:[eax]
mov dword fs:[eax], esp
or edi, 0xffffffff
or esi, 0xffffffff
xor ebx, ebx
lea eax, [ebp - 0x14c]
call fcn.0042e160
mov eax, dword [ebp - 0x14c]
lea edx, [ebp - 4]
call fcn.00426114
call fcn.0042e124
dec eax
je 0x76b7f7
dec eax
je 0x76b87f
jmp case.default.0x76ba69
call fcn.0042e14c
sub eax, 0xa
jb 0x76b80d
sub eax, 0x50
jb 0x76b839
je 0x76b878
jmp case.default.0x76ba69
mov eax, dword [ebp - 4]
mov edx, 0x76bc3c
call fcn.0040b554
je 0x76b82b
mov eax, dword [ebp - 4]
mov edx, 0x76bc4c
call fcn.0040b554
jne 0x76b832
mov bl, 2
jmp case.default.0x76ba69
mov bl, 1
jmp case.default.0x76ba69
cmp dword [0x799454], 0x4005a
jne 0x76b84c
mov bl, 5
jmp case.default.0x76ba69
mov eax, dword [ebp - 4]
mov edx, 0x76bc5c
call fcn.0040b554
je 0x76b86a
mov eax, dword [ebp - 4]
mov edx, 0x76bc3c
call fcn.0040b554
jne 0x76b871
mov bl, 4
jmp case.default.0x76ba69
mov bl, 3
jmp case.default.0x76ba69
mov bl, 5
jmp case.default.0x76ba69
call fcn.0042e138
add eax, 0xfffffffd
cmp eax, 7
ja case.default.0x76ba69
jmp dword [eax*4 + 0x76b897]
call fcn.0042e14c
dec eax
je 0x76b8ce
sub eax, 4
je 0x76b8d5
sub eax, 0x2e
je 0x76b8dc
jmp case.default.0x76ba69
mov bl, 6
jmp case.default.0x76ba69
mov bl, 7
jmp case.default.0x76ba69
mov bl, 8
jmp case.default.0x76ba69
mov bl, 9
jmp case.default.0x76ba69
call fcn.0042e14c
sub eax, 1
jb 0x76b8fe
je 0x76b905
dec eax
je 0x76b90c
jmp case.default.0x76ba69
mov bl, 0xa
jmp case.default.0x76ba69
mov bl, 0xb
jmp case.default.0x76ba69
mov dword [ebp - 0x148], 0x11c
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
call fcn.0076c118
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x76b935
mov bl, 0xe
jmp case.default.0x76ba69
cmp word [ebp - 0x2c], 0
je 0x76b959
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x76b959
cmp byte [ebp - 0x2e], 1
jne 0x76b959
mov bl, 0xd
jmp case.default.0x76ba69
mov bl, 0xc
jmp case.default.0x76ba69
call fcn.0042e14c
cmp eax, 2
jne 0x76ba57
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x76bc6c
mov edx, 0x76bc90
mov eax, 0x80000002
call fcn.0076ec80
lea edx, [ebp - 0x150]
mov eax, dword [0x78fc08]
call fcn.00410cf0
mov eax, dword [ebp - 0x150]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b6e8
dec eax
je 0x76b9d4
lea edx, [ebp - 0x154]
mov eax, dword [0x78fcd4]
call fcn.00410cf0
mov eax, dword [ebp - 0x154]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b6e8
dec eax
jne 0x76b9de
mov esi, 3
jmp 0x76ba5e
lea edx, [ebp - 0x158]
mov eax, dword [0x78feec]
call fcn.00410cf0
mov eax, dword [ebp - 0x158]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b6e8
dec eax
je 0x76ba2a
lea edx, [ebp - 0x15c]
mov eax, dword [0x78ff40]
call fcn.00410cf0
mov eax, dword [ebp - 0x15c]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b6e8
dec eax
jne 0x76ba31
mov esi, 2
jmp 0x76ba5e
call fcn.0076bd1c
mov edi, eax
cmp edi, 6
jne 0x76ba44
mov esi, 4
jmp 0x76ba5e
cmp edi, 0xa
jne 0x76ba4e
or esi, 0xffffffff
jmp 0x76ba5e
call fcn.0042e14c
mov esi, eax
jmp 0x76ba5e
call fcn.0042e14c
mov esi, eax
mov eax, esi
cmp eax, 4
ja case.default.0x76ba69
jmp dword [eax*4 + 0x76ba70]
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x76baab
cmp byte [ebp - 0x2e], 1
jne 0x76baab
mov bl, 0xf
jmp case.default.0x76ba69
mov bl, 0x10
jmp case.default.0x76ba69
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x76bad9
cmp byte [ebp - 0x2e], 1
jne 0x76bad9
mov bl, 0x11
jmp case.default.0x76ba69
mov bl, 0x12
jmp case.default.0x76ba69
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x76bb04
cmp byte [ebp - 0x2e], 1
jne 0x76bb04
mov bl, 0x13
jmp case.default.0x76ba69
mov bl, 0x15
jmp case.default.0x76ba69
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x76bb2c
cmp byte [ebp - 0x2e], 1
jne 0x76bb2c
mov bl, 0x16
jmp case.default.0x76ba69
mov bl, 0x18
jmp case.default.0x76ba69
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x76bb54
cmp byte [ebp - 0x2e], 1
jne 0x76bb54
mov bl, 0x19
jmp case.default.0x76ba69
mov bl, 0x1a
jmp case.default.0x76ba69
call fcn.0042e138
mov edi, eax
call fcn.0042e14c
mov esi, eax
cmp edi, 0xa
jl 0x76bbf1
sub edi, 0xa
jne 0x76bbf1
cmp esi, 0xffffffff
jne 0x76bb80
call fcn.0076bf14
mov esi, eax
sub esi, 1
jae 0x76bbf1
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x76bba9
cmp byte [ebp - 0x2e], 1
jne 0x76bba9
mov bl, 0x19
jmp 0x76bbf1
push 0x76bcf8
lea eax, [ebp - 0x160]
push eax
mov ecx, 0x76bd08
mov edx, 0x76bc90
mov eax, 0x80000002
call fcn.0076ec80
mov eax, dword [ebp - 0x160]
or edx, 0xffffffff
call fcn.00426e7c
sub eax, 0x647
je 0x76bbe7
sub eax, 0xca
je 0x76bbeb
jmp 0x76bbef
mov bl, 0x1a
jmp 0x76bbf1
mov bl, 0x1b
jmp 0x76bbf1
mov bl, 0x1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x76bc25
lea eax, [ebp - 0x160]
mov edx, 6
call fcn.0040a3d0
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040a3d0
pop eax
jmp eax