Function at 0x65b314
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 - 4], eax
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
xor eax, eax
push ebp
push 0x65b7c8
push dword fs:[eax]
mov dword fs:[eax], esp
or edi, 0xffffffff
or esi, 0xffffffff
xor ebx, ebx
lea eax, [ebp - 0x150]
call fcn.0042de88
mov eax, dword [ebp - 0x150]
lea edx, [ebp - 4]
call fcn.0042585c
call fcn.0042de5c
dec eax
je 0x65b38c
dec eax
je 0x65b414
jmp case.default.0x65b5fd
call fcn.0042de78
sub eax, 0xa
jb 0x65b3a2
sub eax, 0x50
jb 0x65b3ce
je 0x65b40d
jmp case.default.0x65b5fd
mov eax, dword [ebp - 4]
mov edx, 0x65b7e4
call fcn.0040b2c0
je 0x65b3c0
mov eax, dword [ebp - 4]
mov edx, 0x65b7f4
call fcn.0040b2c0
jne 0x65b3c7
mov bl, 2
jmp case.default.0x65b5fd
mov bl, 1
jmp case.default.0x65b5fd
cmp dword [0x7ebd54], 0x4005a
jne 0x65b3e1
mov bl, 5
jmp case.default.0x65b5fd
mov eax, dword [ebp - 4]
mov edx, 0x65b804
call fcn.0040b2c0
je 0x65b3ff
mov eax, dword [ebp - 4]
mov edx, 0x65b7e4
call fcn.0040b2c0
jne 0x65b406
mov bl, 4
jmp case.default.0x65b5fd
mov bl, 3
jmp case.default.0x65b5fd
mov bl, 5
jmp case.default.0x65b5fd
call fcn.0042de70
add eax, 0xfffffffd
cmp eax, 7
ja case.default.0x65b5fd
jmp dword [eax*4 + 0x65b42c]
call fcn.0042de78
dec eax
je 0x65b463
sub eax, 4
je 0x65b46a
sub eax, 0x2e
je 0x65b471
jmp case.default.0x65b5fd
mov bl, 6
jmp case.default.0x65b5fd
mov bl, 7
jmp case.default.0x65b5fd
mov bl, 8
jmp case.default.0x65b5fd
mov bl, 9
jmp case.default.0x65b5fd
call fcn.0042de78
sub eax, 1
jb 0x65b493
je 0x65b49a
dec eax
je 0x65b4a1
jmp case.default.0x65b5fd
mov bl, 0xa
jmp case.default.0x65b5fd
mov bl, 0xb
jmp case.default.0x65b5fd
mov dword [ebp - 0x14c], 0x11c
xor eax, eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
call fcn.0065bf28
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x65b4ca
mov bl, 0xe
jmp case.default.0x65b5fd
cmp word [ebp - 0x30], 0
je 0x65b4ee
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b4ee
cmp byte [ebp - 0x32], 1
jne 0x65b4ee
mov bl, 0xd
jmp case.default.0x65b5fd
mov bl, 0xc
jmp case.default.0x65b5fd
call fcn.0042de78
cmp eax, 2
jne 0x65b5eb
lea eax, [ebp - 8]
call fcn.0065b8a0
lea edx, [ebp - 0x154]
mov eax, dword [0x7c2388]
call fcn.004104c0
mov eax, dword [ebp - 0x154]
mov ecx, 1
mov esi, dword [ebp - 8]
mov edx, esi
call fcn.0040b454
dec eax
jne 0x65b537
mov al, 1
jmp 0x65b55d
lea edx, [ebp - 0x158]
mov eax, dword [0x7c2434]
call fcn.004104c0
mov eax, dword [ebp - 0x158]
mov ecx, 1
mov edx, esi
call fcn.0040b454
dec eax
sete al
test al, al
je 0x65b56b
mov esi, 3
jmp 0x65b5f2
lea edx, [ebp - 0x15c]
mov eax, dword [0x7c2644]
call fcn.004104c0
mov eax, dword [ebp - 0x15c]
mov ecx, 1
mov edx, esi
call fcn.0040b454
dec eax
jne 0x65b594
mov al, 1
jmp 0x65b5ba
lea edx, [ebp - 0x160]
mov eax, dword [0x7c2694]
call fcn.004104c0
mov eax, dword [ebp - 0x160]
mov ecx, 1
mov edx, esi
call fcn.0040b454
dec eax
sete al
test al, al
je 0x65b5c5
mov esi, 2
jmp 0x65b5f2
call fcn.0065bac0
mov edi, eax
cmp edi, 6
jne 0x65b5d8
mov esi, 4
jmp 0x65b5f2
cmp edi, 0xa
jne 0x65b5e2
or esi, 0xffffffff
jmp 0x65b5f2
call fcn.0042de78
mov esi, eax
jmp 0x65b5f2
call fcn.0042de78
mov esi, eax
mov eax, esi
cmp eax, 4
ja case.default.0x65b5fd
jmp dword [eax*4 + 0x65b604]
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b63f
cmp byte [ebp - 0x32], 1
jne 0x65b63f
mov bl, 0xf
jmp case.default.0x65b5fd
mov bl, 0x10
jmp case.default.0x65b5fd
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b66d
cmp byte [ebp - 0x32], 1
jne 0x65b66d
mov bl, 0x11
jmp case.default.0x65b5fd
mov bl, 0x12
jmp case.default.0x65b5fd
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b698
cmp byte [ebp - 0x32], 1
jne 0x65b698
mov bl, 0x13
jmp case.default.0x65b5fd
mov bl, 0x15
jmp case.default.0x65b5fd
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b6c0
cmp byte [ebp - 0x32], 1
jne 0x65b6c0
mov bl, 0x16
jmp case.default.0x65b5fd
mov bl, 0x18
jmp case.default.0x65b5fd
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b6e8
cmp byte [ebp - 0x32], 1
jne 0x65b6e8
mov bl, 0x19
jmp case.default.0x65b5fd
mov bl, 0x1a
jmp case.default.0x65b5fd
call fcn.0042de70
mov edi, eax
call fcn.0042de78
mov esi, eax
cmp edi, 0xa
jl 0x65b79b
sub edi, 0xa
jne 0x65b79b
cmp esi, 0xffffffff
jne 0x65b718
call fcn.0065bcf0
mov esi, eax
sub esi, 1
jae 0x65b79b
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b751
cmp byte [ebp - 0x32], 1
jne 0x65b751
call fcn.0065b95c
cmp eax, 0x55f0
jl 0x65b74d
mov bl, 0x1d
jmp 0x65b79b
mov bl, 0x19
jmp 0x65b79b
push 0
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x65b814
mov edx, 0x65b824
mov eax, 0x65b844
call fcn.0065b1d4
or edx, 0xffffffff
mov eax, dword [ebp - 0xc]
call fcn.00426408
sub eax, 0x647
je 0x65b78d
sub eax, 0xca
je 0x65b791
sub eax, 0xc8
je 0x65b795
jmp 0x65b799
mov bl, 0x1a
jmp 0x65b79b
mov bl, 0x1b
jmp 0x65b79b
mov bl, 0x1e
jmp 0x65b79b
mov bl, 0x1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x65b7cf
lea eax, [ebp - 0x160]
mov edx, 5
call fcn.0040a284
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040a284
pop eax
jmp eax