Function at 0x429a60
Capabilities:
Check os version
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x50ad12
mov eax, dword fs:[0]
push eax
sub esp, 0x1c8
mov eax, dword [0x53b0f8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x19c], 0
push 0x11c
push 0
lea eax, [ebp - 0x198]
push eax
call fcn.004a2c70
add esp, 0xc
mov dword [ebp - 0x198], 0x11c
lea ecx, [ebp - 0x198]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
xor edx, edx
mov dword [ebp - 0x1d4], edx
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1cc], edx
mov dword [ebp - 0x1c8], edx
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1bc], edx
mov dword [ebp - 0x1b8], edx
mov dword [ebp - 0x1b4], edx
lea eax, [ebp - 0x1d4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea ecx, [ebp - 0x1a8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
push 0x511598
lea ecx, [ebp - 0x2c]
call fcn.00423890
mov dword [ebp - 4], 0
cmp dword [ebp - 0x194], 5
jne 0x429bed
cmp dword [ebp - 0x190], 1
jne 0x429b57
push str.Windows_XP
lea ecx, [ebp - 0x2c]
call fcn.00422f40
jmp 0x429beb
cmp dword [ebp - 0x190], 0
jne 0x429b6f
push str.Windows_2000
lea ecx, [ebp - 0x2c]
call fcn.00422f40
jmp 0x429beb
cmp dword [ebp - 0x190], 2
jne 0x429beb
movzx edx, byte [ebp - 0x7e]
cmp edx, 1
jne 0x429b9c
movzx eax, word [ebp - 0x1d4]
cmp eax, 9
jne 0x429b9c
push str.Windows_XP_Professional_x64_Edition
lea ecx, [ebp - 0x2c]
call fcn.00422f40
jmp 0x429beb
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x429bb7
push str.Windows_Server_2003
lea ecx, [ebp - 0x2c]
call fcn.00422f40
jmp 0x429beb
movzx ecx, word [ebp - 0x80]
and ecx, 0x8000
je 0x429bd2
push str.Windows_Home_Server
lea ecx, [ebp - 0x2c]
call fcn.00422f40
jmp 0x429beb
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x429beb
push str.Windows_Server_2003_R2
lea ecx, [ebp - 0x2c]
call fcn.00422f40
jmp 0x429c54
cmp dword [ebp - 0x194], 6
jne 0x429c54
cmp dword [ebp - 0x190], 1
jne 0x429c26
movzx edx, byte [ebp - 0x7e]
cmp edx, 1
jne 0x429c17
push str.Windows_7
lea ecx, [ebp - 0x2c]
call fcn.00422f40
jmp 0x429c24
push str.Windows_Server_2008_R2
lea ecx, [ebp - 0x2c]
call fcn.00422f40
jmp 0x429c54
cmp dword [ebp - 0x190], 0
jne 0x429c54
movzx eax, byte [ebp - 0x7e]
cmp eax, 1
jne 0x429c47
push str.Windows_Vista
lea ecx, [ebp - 0x2c]
call fcn.00422f40
jmp 0x429c54
push str.Windows_Server_2008
lea ecx, [ebp - 0x2c]
call fcn.00422f40
lea ecx, [ebp - 0x28]
call fcn.00412f30
movzx ecx, al
test ecx, ecx
jne 0x429cab
lea edx, [ebp - 0x184]
push edx
lea ecx, [ebp - 0x7c]
call fcn.00423890
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a4], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x1a4]
add ecx, 4
call fcn.00411e30
push eax
lea ecx, [ebp - 0x28]
call fcn.0041f680
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x7c]
call fcn.00422090
cmp dword [ebp - 0x1a8], 0
je 0x429cc3
push str._64bit
lea ecx, [ebp - 0x28]
call fcn.0041f680
jmp 0x429cd0
push str._32bit
lea ecx, [ebp - 0x28]
call fcn.0041f680
lea ecx, [ebp - 0x28]
push ecx
push str.Operating_System:
lea edx, [ebp - 0x60]
push edx
call fcn.0041e920
add esp, 0xc
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x1b0]
push ecx
lea ecx, [ebp - 0x48]
call fcn.00423a50
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x60]
call fcn.00417b10
lea edx, [ebp - 0x48]
push edx
mov ecx, dword [ebp + 8]
call fcn.00423970
mov eax, dword [ebp - 0x19c]
or eax, 1
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x48]
call fcn.00422090
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00422090
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00434475
mov esp, ebp
pop ebp
ret