Function at 0x632c54
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffea4
push ebx
push esi
push edi
xor eax, 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 0x6330f2
push dword fs:[eax]
mov dword fs:[eax], esp
or edi, 0xffffffff
or esi, 0xffffffff
xor ebx, ebx
lea edx, [ebp - 4]
mov eax, dword [0x90d6a8]
mov eax, dword [eax]
call fcn.004252c4
mov eax, dword [0x90e594]
mov eax, dword [eax]
dec eax
je 0x632cc1
dec eax
je 0x632d4b
jmp case.default.0x632f3d
mov eax, dword [0x90e010]
mov eax, dword [eax]
sub eax, 0xa
jb 0x632cd9
sub eax, 0x50
jb 0x632d05
je 0x632d44
jmp case.default.0x632f3d
mov eax, dword [ebp - 4]
mov edx, 0x633110
call fcn.0040b1c8
je 0x632cf7
mov eax, dword [ebp - 4]
mov edx, 0x633120
call fcn.0040b1c8
jne 0x632cfe
mov bl, 2
jmp case.default.0x632f3d
mov bl, 1
jmp case.default.0x632f3d
cmp dword [0x91d2c0], 0x4005a
jne 0x632d18
mov bl, 5
jmp case.default.0x632f3d
mov eax, dword [ebp - 4]
mov edx, 0x633130
call fcn.0040b1c8
je 0x632d36
mov eax, dword [ebp - 4]
mov edx, 0x633110
call fcn.0040b1c8
jne 0x632d3d
mov bl, 4
jmp case.default.0x632f3d
mov bl, 3
jmp case.default.0x632f3d
mov bl, 5
jmp case.default.0x632f3d
mov eax, dword [0x90d764]
mov eax, dword [eax]
add eax, 0xfffffffd
cmp eax, 7
ja case.default.0x632f3d
jmp dword [eax*4 + 0x632d65]
mov eax, dword [0x90e010]
mov eax, dword [eax]
dec eax
je 0x632d9e
sub eax, 4
je 0x632da5
sub eax, 0x2e
je 0x632dac
jmp case.default.0x632f3d
mov bl, 6
jmp case.default.0x632f3d
mov bl, 7
jmp case.default.0x632f3d
mov bl, 8
jmp case.default.0x632f3d
mov bl, 9
jmp case.default.0x632f3d
mov eax, dword [0x90e010]
mov eax, dword [eax]
sub eax, 1
jb 0x632dd0
je 0x632dd7
dec eax
je 0x632dde
jmp case.default.0x632f3d
mov bl, 0xa
jmp case.default.0x632f3d
mov bl, 0xb
jmp case.default.0x632f3d
mov dword [ebp - 0x148], 0x11c
xor eax, eax
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0x2c]
call fcn.006335f4
push 0x59
call sub.user32.dll_GetSystemMetrics
test eax, eax
je 0x632e07
mov bl, 0xe
jmp case.default.0x632f3d
cmp word [ebp - 0x2c], 0
je 0x632e2b
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW_1
test eax, eax
je 0x632e2b
cmp byte [ebp - 0x2e], 1
jne 0x632e2b
mov bl, 0xd
jmp case.default.0x632f3d
mov bl, 0xc
jmp case.default.0x632f3d
mov eax, dword [0x90e010]
cmp dword [eax], 2
jne 0x632f2a
push 0
lea eax, [ebp - 8]
push eax
mov ecx, 0x633140
mov edx, 0x633164
mov eax, 0x80000002
call fcn.006364c4
lea edx, [ebp - 0x14c]
mov eax, dword [0x90df10]
call fcn.0040fb1c
mov eax, dword [ebp - 0x14c]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b410
dec eax
je 0x632ea6
lea edx, [ebp - 0x150]
mov eax, dword [0x90e01c]
call fcn.0040fb1c
mov eax, dword [ebp - 0x150]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b410
dec eax
jne 0x632eb0
mov esi, 3
jmp 0x632f32
lea edx, [ebp - 0x154]
mov eax, dword [0x90e3b4]
call fcn.0040fb1c
mov eax, dword [ebp - 0x154]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b410
dec eax
je 0x632efc
lea edx, [ebp - 0x158]
mov eax, dword [0x90e460]
call fcn.0040fb1c
mov eax, dword [ebp - 0x158]
mov ecx, 1
mov edx, dword [ebp - 8]
call fcn.0040b410
dec eax
jne 0x632f03
mov esi, 2
jmp 0x632f32
call fcn.006331f0
mov edi, eax
cmp edi, 6
jne 0x632f16
mov esi, 4
jmp 0x632f32
cmp edi, 0xa
jne 0x632f20
or esi, 0xffffffff
jmp 0x632f32
mov esi, dword [0x90e010]
mov esi, dword [esi]
jmp 0x632f32
mov esi, dword [0x90e010]
mov esi, dword [esi]
mov eax, esi
cmp eax, 4
ja case.default.0x632f3d
jmp dword [eax*4 + 0x632f44]
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW_1
test eax, eax
je 0x632f7f
cmp byte [ebp - 0x2e], 1
jne 0x632f7f
mov bl, 0xf
jmp case.default.0x632f3d
mov bl, 0x10
jmp case.default.0x632f3d
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW_1
test eax, eax
je 0x632fad
cmp byte [ebp - 0x2e], 1
jne 0x632fad
mov bl, 0x11
jmp case.default.0x632f3d
mov bl, 0x12
jmp case.default.0x632f3d
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW_1
test eax, eax
je 0x632fd8
cmp byte [ebp - 0x2e], 1
jne 0x632fd8
mov bl, 0x13
jmp case.default.0x632f3d
mov bl, 0x15
jmp case.default.0x632f3d
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW_1
test eax, eax
je 0x633000
cmp byte [ebp - 0x2e], 1
jne 0x633000
mov bl, 0x16
jmp case.default.0x632f3d
mov bl, 0x18
jmp case.default.0x632f3d
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW_1
test eax, eax
je 0x633028
cmp byte [ebp - 0x2e], 1
jne 0x633028
mov bl, 0x19
jmp case.default.0x632f3d
mov bl, 0x1a
jmp case.default.0x632f3d
mov edi, dword [0x90d764]
mov edi, dword [edi]
mov esi, dword [0x90e010]
mov esi, dword [esi]
cmp edi, 0xa
jl 0x6330c7
sub edi, 0xa
jne 0x6330c7
cmp esi, 0xffffffff
jne 0x633056
call fcn.006333ec
mov esi, eax
sub esi, 1
jae 0x6330c7
mov dword [ebp - 0x148], 0x11c
lea eax, [ebp - 0x148]
push eax
call sub.kernel32.dll_GetVersionExW_1
test eax, eax
je 0x63307f
cmp byte [ebp - 0x2e], 1
jne 0x63307f
mov bl, 0x19
jmp 0x6330c7
push 0x6331cc
lea eax, [ebp - 0x15c]
push eax
mov ecx, 0x6331dc
mov edx, 0x633164
mov eax, 0x80000002
call fcn.006364c4
mov eax, dword [ebp - 0x15c]
or edx, 0xffffffff
call fcn.00426064
sub eax, 0x647
je 0x6330bd
sub eax, 0xca
je 0x6330c1
jmp 0x6330c5
mov bl, 0x1a
jmp 0x6330c7
mov bl, 0x1b
jmp 0x6330c7
mov bl, 0x1c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6330f9
lea eax, [ebp - 0x15c]
mov edx, 5
call fcn.0040a020
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040a020
ret