Function at 0x4bdad0
Capabilities:
Check os version

Disassembly:
push esi
push edi
mov esi, eax
push 0x11c
lea edi, [esi + 0x118]
push 0
push edi
call fcn.005bfee0
add esp, 0xc
push edi
mov dword [edi], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x4bdb16
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CWindowsVersion::CheckWindowsVersionEx___:
mov dword [esi], eax
call fcn.004a7cf0
add esp, 8
pop edi
xor al, al
pop esi
ret
mov eax, dword [esi + 0x11c]
push ebx
mov ebx, 1
cmp eax, 5
jne 0x4bdd16
mov eax, dword [esi + 0x120]
test eax, eax
jne 0x4bdbd5
cmp byte [esi + 0x232], 3
jne 0x4bdbb4
movzx eax, word [esi + 0x230]
test al, al
jns 0x4bdb6e
mov dword [esi + 0x23c], 0x2028
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_2000_Datacenter_Server
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
test al, 2
je 0x4bdb93
mov dword [esi + 0x23c], 0x2024
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_2000_Advanced_Server
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
mov dword [esi + 0x23c], 0x2022
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_2000_Server
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
mov dword [esi + 0x23c], 0x2021
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_2000_Professional
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
cmp eax, ebx
jne 0x4bdc39
cmp byte [esi + 0x232], bl
jne 0x4bde91
movzx eax, word [esi + 0x230]
test eax, 0x200
je 0x4bdc14
mov dword [esi + 0x23c], 0x2041
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_XP_Home
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
test al, 0x40
je 0x4bdc58
mov dword [esi + 0x23c], 0x2044
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_XP_Embedded
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
cmp eax, 2
jne 0x4bde91
cmp byte [esi + 0x232], bl
jne 0x4bdc79
mov eax, 0x200
test word [esi + 0x230], ax
jne 0x4bdbf3
mov dword [esi + 0x23c], 0x2042
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_XP_Professional
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
movzx eax, word [esi + 0x230]
test al, al
jns 0x4bdca5
mov dword [esi + 0x23c], 0x2088
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_2003_Datacenter_Server
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
test al, 2
je 0x4bdcca
mov dword [esi + 0x23c], 0x2084
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_2003_Enterprise_Server
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
mov ecx, 0x400
cmp ax, cx
jne 0x4bdcf5
mov dword [esi + 0x23c], 0x2082
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_2003_Web_Server
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
mov dword [esi + 0x23c], 0x2081
add esi, 0x248
push esi
mov eax, str.Microsoft_Windows_2003_Standard_Server
call fcn.0040f7e0
mov al, bl
pop ebx
pop edi
pop esi
ret
cmp eax, 6
jne 0x4bde91
mov eax, dword [esi + 0x120]
test eax, eax
jne 0x4bdd81
cmp byte [esi + 0x232], bl
jne 0x4bdd59
lea edx, [esi + 0x248]
push edx
mov eax, str.Microsoft_Windows_Vista
mov dword [esi + 0x23c], 0x2100
call fcn.0040f7e0
mov eax, esi
call fcn.004bdea0
mov al, bl
pop ebx
pop edi
pop esi
ret
lea eax, [esi + 0x248]
push eax
mov eax, str.Microsoft_Windows_2008
mov dword [esi + 0x23c], 0x2200
call fcn.0040f7e0
mov eax, esi
call fcn.004bdea0
mov al, bl
pop ebx
pop edi
pop esi
ret
cmp eax, ebx
jne 0x4bdddd
cmp byte [esi + 0x232], bl
jne 0x4bddb5
lea ecx, [esi + 0x248]
push ecx
mov eax, str.Microsoft_Windows_7
mov dword [esi + 0x23c], 0x2400
call fcn.0040f7e0
mov eax, esi
call fcn.004bdea0
mov al, bl
pop ebx
pop edi
pop esi
ret
lea edx, [esi + 0x248]
push edx
mov eax, str.Microsoft_Windows_2008_R2
mov dword [esi + 0x23c], 0x2201
call fcn.0040f7e0
mov eax, esi
call fcn.004bdea0
mov al, bl
pop ebx
pop edi
pop esi
ret
cmp eax, 2
jne 0x4bde3a
cmp byte [esi + 0x232], bl
jne 0x4bde12
lea eax, [esi + 0x248]
push eax
mov eax, str.Microsoft_Windows_8
mov dword [esi + 0x23c], 0x2410
call fcn.0040f7e0
mov eax, esi
call fcn.004bdea0
mov al, bl
pop ebx
pop edi
pop esi
ret
lea ecx, [esi + 0x248]
push ecx
mov eax, str.Microsoft_Windows_2012
mov dword [esi + 0x23c], 0x2202
call fcn.0040f7e0
mov eax, esi
call fcn.004bdea0
mov al, bl
pop ebx
pop edi
pop esi
ret
cmp eax, 3
jne 0x4bde8a
cmp byte [esi + 0x232], bl
jne 0x4bde6f
lea edx, [esi + 0x248]
push edx
mov eax, str.Microsoft_Windows_8.1
mov dword [esi + 0x23c], 0x2420
call fcn.0040f7e0
mov eax, esi
call fcn.004bdea0
mov al, bl
pop ebx
pop edi
pop esi
ret
lea eax, [esi + 0x248]
push eax
mov eax, str.Microsoft_Windows_2012_R2
mov dword [esi + 0x23c], 0x2204
call fcn.0040f7e0
mov eax, esi
call fcn.004bdea0
mov al, bl
pop ebx
pop edi
pop esi
ret