Function at 0x469a68
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x27
push 0
push 0
dec ecx
jne 0x469a70
push ebx
push esi
push edi
mov ebx, eax
xor eax, eax
push ebp
push 0x469eed
push dword fs:[eax]
mov dword fs:[eax], esp
cmp dword [0x4bb158], 0
je 0x469ab3
call fcn.00469978
mov edx, eax
lea eax, [ebp - 0xc]
call fcn.00404cac
mov edx, dword [ebp - 0xc]
mov eax, ebx
mov ecx, 0x469f04
call fcn.00404dd0
jmp 0x469aef
mov eax, dword [0x4b9368]
cmp dword [eax], 2
jne 0x469acb
mov eax, ebx
mov edx, 0x469f10
call fcn.00404b20
jmp 0x469aef
mov eax, dword [0x4b9368]
cmp dword [eax], 3
jne 0x469ae3
mov eax, ebx
mov edx, 0x469f1c
call fcn.00404b20
jmp 0x469aef
mov eax, ebx
mov edx, 0x469f28
call fcn.00404b20
push dword [ebx]
push 0x469f34
lea edx, [ebp - 0x10]
mov eax, dword [0x4b8f64]
mov eax, dword [eax + 4]
call fcn.0045aff4
push dword [ebp - 0x10]
push 0x469f40
lea edx, [ebp - 0x14]
mov eax, dword [0x4b8f64]
mov eax, dword [eax + 8]
call fcn.0045aff4
push dword [ebp - 0x14]
push 0x469f40
lea edx, [ebp - 0x18]
mov eax, dword [0x4b8f64]
mov eax, dword [eax + 0xc]
and eax, 0xffff
call fcn.0045aff4
push dword [ebp - 0x18]
push 0x469f34
mov eax, ebx
mov edx, 8
call fcn.00404e44
mov eax, dword [0x4b90b8]
cmp byte [eax], 0
je 0x469eba
mov eax, dword [0x4b8f64]
cmp dword [eax + 4], 6
jb 0x469bf8
mov eax, dword [0x4b8f64]
mov dword [eax], 0x9c
mov eax, dword [0x4b8f64]
push eax
call sub.KERNEL32.DLL_GetVersionExA
push dword [ebx]
lea eax, [ebp - 0x1c]
call fcn.0045fe30
push dword [ebp - 0x1c]
push 0x469f34
mov eax, ebx
mov edx, 3
call fcn.00404e44
mov esi, dword [0x4b8f64]
mov si, word [esi + 0x94]
test si, si
jbe 0x469eba
push dword [ebx]
lea edx, [ebp - 0x20]
mov eax, dword [0x4b8f64]
movzx eax, si
call fcn.0045aff4
push dword [ebp - 0x20]
push 0x469f40
lea edx, [ebp - 0x24]
mov eax, dword [0x4b8f64]
movzx eax, word [eax + 0x96]
call fcn.0045aff4
push dword [ebp - 0x24]
mov eax, ebx
mov edx, 4
call fcn.00404e44
jmp 0x469eba
mov eax, dword [0x4b8f64]
cmp dword [eax + 4], 5
jne 0x469d4c
mov eax, dword [0x4b8f64]
mov dword [eax], 0x9c
mov eax, dword [0x4b8f64]
push eax
call sub.KERNEL32.DLL_GetVersionExA
push 0x56
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x469c39
mov eax, ebx
mov edx, 0x469f4c
call fcn.00404d8c
jmp 0x469ce8
push 0x57
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x469c55
mov eax, ebx
mov edx, 0x469f58
call fcn.00404d8c
jmp 0x469ce8
mov eax, dword [0x4b8f64]
cmp byte [eax + 0x9a], 1
jne 0x469c8d
mov eax, dword [0x4b8f64]
test byte [eax + 0x99], 2
je 0x469c7f
mov eax, ebx
mov edx, 0x469f64
call fcn.00404d8c
jmp 0x469ce8
mov eax, ebx
mov edx, 0x469f70
call fcn.00404d8c
jmp 0x469ce8
mov eax, dword [0x4b8f64]
mov al, byte [eax + 0x9a]
cmp al, 3
je 0x469ca6
mov edx, dword [0x4b8f64]
cmp al, 2
jne 0x469ce8
mov eax, dword [0x4b8f64]
mov ax, word [eax + 0x98]
test al, 0x80
je 0x469cc4
mov eax, ebx
mov edx, 0x469f7c
call fcn.00404d8c
jmp 0x469ce8
mov edx, dword [0x4b8f64]
test al, 2
je 0x469cdc
mov eax, ebx
mov edx, 0x469f88
call fcn.00404d8c
jmp 0x469ce8
mov eax, ebx
mov edx, 0x469f94
call fcn.00404d8c
mov eax, ebx
mov edx, 0x469f34
call fcn.00404d8c
mov esi, dword [0x4b8f64]
mov si, word [esi + 0x94]
test si, si
jbe 0x469eba
push dword [ebx]
lea edx, [ebp - 0x28]
mov eax, dword [0x4b8f64]
movzx eax, si
call fcn.0045aff4
push dword [ebp - 0x28]
push 0x469f40
lea edx, [ebp - 0x2c]
mov eax, dword [0x4b8f64]
movzx eax, word [eax + 0x96]
call fcn.0045aff4
push dword [ebp - 0x2c]
mov eax, ebx
mov edx, 4
call fcn.00404e44
jmp 0x469eba
push 0
lea eax, [ebp - 4]
push eax
mov ecx, 0x469fa0
mov edx, 0x469fb4
mov eax, 0x80000002
call fcn.0045dd0c
lea edx, [ebp - 0x30]
mov eax, dword [ebp - 4]
call fcn.0045b068
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 4]
call fcn.00404b64
mov edx, dword [ebp - 4]
mov eax, 0x469fec
call fcn.004050c0
test eax, eax
jle 0x469d9b
mov eax, ebx
mov edx, 0x469f70
call fcn.00404d8c
jmp 0x469dd7
mov edx, dword [ebp - 4]
mov eax, 0x469ffc
call fcn.004050c0
test eax, eax
jle 0x469dba
mov eax, ebx
mov edx, 0x469f94
call fcn.00404d8c
jmp 0x469dd7
mov edx, dword [ebp - 4]
mov eax, 0x46a010
call fcn.004050c0
test eax, eax
jle 0x469dd7
mov eax, ebx
mov edx, 0x469f88
call fcn.00404d8c
mov edx, 0x46a024
mov eax, 0x80000002
call fcn.0045d594
mov esi, eax
test esi, esi
je 0x469e8f
xor ecx, ecx
mov edx, 0x46a058
mov eax, esi
call fcn.0045dac4
mov edi, eax
test edi, edi
jns 0x469e0a
add edi, 0xff
sar edi, 8
test edi, edi
jle 0x469e44
lea edx, [ebp - 0x134]
mov eax, edi
call fcn.004092fc
mov edx, dword [ebp - 0x134]
lea eax, [ebp - 0x130]
mov ecx, 0xff
call fcn.00404d60
lea edx, [ebp - 0x130]
lea eax, [ebp - 7]
mov cl, 2
call fcn.00403114
mov eax, esi
call fcn.0045d724
cmp edi, 6
jne 0x469e93
mov edx, 0x46a06c
mov eax, 0x80000002
call fcn.0045d594
mov esi, eax
test esi, esi
je 0x469e93
xor ecx, ecx
mov edx, 0x46a0b0
mov eax, esi
call fcn.0045dac4
test eax, eax
je 0x469e86
lea eax, [ebp - 7]
mov edx, 0x46a0bc
mov cl, 2
call fcn.004030d8
mov eax, esi
call fcn.0045d724
jmp 0x469e93
mov byte [ebp - 7], 0
push dword [ebx]
push 0x469f34
lea eax, [ebp - 0x138]
lea edx, [ebp - 7]
call fcn.00404d28
push dword [ebp - 0x138]
mov eax, ebx
mov edx, 3
call fcn.00404e44
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469ef4
lea eax, [ebp - 0x138]
mov edx, 2
call fcn.00404af0
lea eax, [ebp - 0x30]
mov edx, 0xa
call fcn.00404af0
lea eax, [ebp - 4]
call fcn.00404acc
ret