Function at 0x65afc0
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 0x65b474
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 0x65b038
dec eax
je 0x65b0c0
jmp case.default.0x65b2a9
call fcn.0042de78
sub eax, 0xa
jb 0x65b04e
sub eax, 0x50
jb 0x65b07a
je 0x65b0b9
jmp case.default.0x65b2a9
mov eax, dword [ebp - 4]
mov edx, 0x65b490
call fcn.0040b2c0
je 0x65b06c
mov eax, dword [ebp - 4]
mov edx, 0x65b4a0
call fcn.0040b2c0
jne 0x65b073
mov bl, 2
jmp case.default.0x65b2a9
mov bl, 1
jmp case.default.0x65b2a9
cmp dword [0x728d50], 0x4005a
jne 0x65b08d
mov bl, 5
jmp case.default.0x65b2a9
mov eax, dword [ebp - 4]
mov edx, 0x65b4b0
call fcn.0040b2c0
je 0x65b0ab
mov eax, dword [ebp - 4]
mov edx, 0x65b490
call fcn.0040b2c0
jne 0x65b0b2
mov bl, 4
jmp case.default.0x65b2a9
mov bl, 3
jmp case.default.0x65b2a9
mov bl, 5
jmp case.default.0x65b2a9
call fcn.0042de70
add eax, 0xfffffffd
cmp eax, 7
ja case.default.0x65b2a9
jmp dword [eax*4 + 0x65b0d8]
call fcn.0042de78
dec eax
je 0x65b10f
sub eax, 4
je 0x65b116
sub eax, 0x2e
je 0x65b11d
jmp case.default.0x65b2a9
mov bl, 6
jmp case.default.0x65b2a9
mov bl, 7
jmp case.default.0x65b2a9
mov bl, 8
jmp case.default.0x65b2a9
mov bl, 9
jmp case.default.0x65b2a9
call fcn.0042de78
sub eax, 1
jb 0x65b13f
je 0x65b146
dec eax
je 0x65b14d
jmp case.default.0x65b2a9
mov bl, 0xa
jmp case.default.0x65b2a9
mov bl, 0xb
jmp case.default.0x65b2a9
mov dword [ebp - 0x14c], 0x11c
xor eax, eax
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x30]
call fcn.0065bbd4
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x65b176
mov bl, 0xe
jmp case.default.0x65b2a9
cmp word [ebp - 0x30], 0
je 0x65b19a
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b19a
cmp byte [ebp - 0x32], 1
jne 0x65b19a
mov bl, 0xd
jmp case.default.0x65b2a9
mov bl, 0xc
jmp case.default.0x65b2a9
call fcn.0042de78
cmp eax, 2
jne 0x65b297
lea eax, [ebp - 8]
call fcn.0065b54c
lea edx, [ebp - 0x154]
mov eax, dword [0x6ff368]
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 0x65b1e3
mov al, 1
jmp 0x65b209
lea edx, [ebp - 0x158]
mov eax, dword [0x6ff414]
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 0x65b217
mov esi, 3
jmp 0x65b29e
lea edx, [ebp - 0x15c]
mov eax, dword [0x6ff624]
call fcn.004104c0
mov eax, dword [ebp - 0x15c]
mov ecx, 1
mov edx, esi
call fcn.0040b454
dec eax
jne 0x65b240
mov al, 1
jmp 0x65b266
lea edx, [ebp - 0x160]
mov eax, dword [0x6ff674]
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 0x65b271
mov esi, 2
jmp 0x65b29e
call fcn.0065b76c
mov edi, eax
cmp edi, 6
jne 0x65b284
mov esi, 4
jmp 0x65b29e
cmp edi, 0xa
jne 0x65b28e
or esi, 0xffffffff
jmp 0x65b29e
call fcn.0042de78
mov esi, eax
jmp 0x65b29e
call fcn.0042de78
mov esi, eax
mov eax, esi
cmp eax, 4
ja case.default.0x65b2a9
jmp dword [eax*4 + 0x65b2b0]
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b2eb
cmp byte [ebp - 0x32], 1
jne 0x65b2eb
mov bl, 0xf
jmp case.default.0x65b2a9
mov bl, 0x10
jmp case.default.0x65b2a9
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b319
cmp byte [ebp - 0x32], 1
jne 0x65b319
mov bl, 0x11
jmp case.default.0x65b2a9
mov bl, 0x12
jmp case.default.0x65b2a9
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b344
cmp byte [ebp - 0x32], 1
jne 0x65b344
mov bl, 0x13
jmp case.default.0x65b2a9
mov bl, 0x15
jmp case.default.0x65b2a9
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b36c
cmp byte [ebp - 0x32], 1
jne 0x65b36c
mov bl, 0x16
jmp case.default.0x65b2a9
mov bl, 0x18
jmp case.default.0x65b2a9
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b394
cmp byte [ebp - 0x32], 1
jne 0x65b394
mov bl, 0x19
jmp case.default.0x65b2a9
mov bl, 0x1a
jmp case.default.0x65b2a9
call fcn.0042de70
mov edi, eax
call fcn.0042de78
mov esi, eax
cmp edi, 0xa
jl 0x65b447
sub edi, 0xa
jne 0x65b447
cmp esi, 0xffffffff
jne 0x65b3c4
call fcn.0065b99c
mov esi, eax
sub esi, 1
jae 0x65b447
mov dword [ebp - 0x14c], 0x11c
lea eax, [ebp - 0x14c]
push eax
call sub.kernel32.dll_GetVersionExW
test eax, eax
je 0x65b3fd
cmp byte [ebp - 0x32], 1
jne 0x65b3fd
call fcn.0065b608
cmp eax, 0x55f0
jl 0x65b3f9
mov bl, 0x1d
jmp 0x65b447
mov bl, 0x19
jmp 0x65b447
push 0
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x65b4c0
mov edx, 0x65b4d0
mov eax, 0x65b4f0
call fcn.0065ae80
or edx, 0xffffffff
mov eax, dword [ebp - 0xc]
call fcn.00426408
sub eax, 0x647
je 0x65b439
sub eax, 0xca
je 0x65b43d
sub eax, 0xc8
je 0x65b441
jmp 0x65b445
mov bl, 0x1a
jmp 0x65b447
mov bl, 0x1b
jmp 0x65b447
mov bl, 0x1e
jmp 0x65b447
mov bl, 0x1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x65b47b
lea eax, [ebp - 0x160]
mov edx, 5
call fcn.0040a284
lea eax, [ebp - 0xc]
mov edx, 3
call fcn.0040a284
pop eax
jmp eax