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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x62d12c]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push edi
mov edi, dword [ebp + 8]
push 0x9c
push eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], eax
mov dword [ebp - 0x200], eax
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], eax
mov dword [ebp - 0x1f4], eax
lea eax, [ebp - 0x1f0]
push eax
call fcn.0055aed0
push 0x100
lea ecx, [ebp - 0x104]
push 0
push ecx
call fcn.0055aed0
add esp, 0x18
lea edx, [ebp - 0x1f0]
push edx
mov dword [ebp - 0x1f0], 0x9c
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x4ea7b0
push str.GetNativeSystemInfo
push 0x5d710c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4ea3ac
lea ecx, [ebp - 0x214]
push ecx
call eax
jmp 0x4ea3b9
lea edx, [ebp - 0x214]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [ebp - 0x1e0], 2
jne 0x4ea7b0
cmp dword [ebp - 0x1ec], 4
jbe 0x4ea7b0
push ebx
push esi
lea eax, [ebp - 0x104]
mov esi, 0x5d7100
mov ecx, eax
mov edx, 0x100
sub esi, ecx
mov ebx, 1
mov edi, edi
lea ecx, [edx + 0x7ffffefe]
test ecx, ecx
je 0x4ea40b
mov cl, byte [esi + eax]
test cl, cl
je 0x4ea40b
mov byte [eax], cl
add eax, ebx
sub edx, ebx
jne 0x4ea3f0
jmp 0x4ea40f
test edx, edx
jne 0x4ea411
sub eax, ebx
cmp dword [ebp - 0x1ec], 6
mov byte [eax], 0
jne 0x4ea482
mov eax, dword [ebp - 0x1e8]
test eax, eax
jne 0x4ea449
cmp byte [ebp - 0x156], bl
jne 0x4ea436
push str.Windows_Vista
jmp 0x4ea471
push str.Windows_Server_2008
push 0x100
lea eax, [ebp - 0x104]
push eax
jmp 0x4ea47d
cmp eax, ebx
jne 0x4ea6ab
cmp byte [ebp - 0x156], bl
jne 0x4ea46c
push str.Windows_7
push 0x100
lea ecx, [ebp - 0x104]
push ecx
jmp 0x4ea47d
push str.Windows_Server_2008_R2
push 0x100
lea edx, [ebp - 0x104]
push edx
call fcn.004e7260
mov esi, 5
cmp dword [ebp - 0x1ec], esi
jne 0x4ea6ab
cmp dword [ebp - 0x1e8], 2
jne 0x4ea5d8
cmp byte [ebp - 0x156], bl
jne 0x4ea4d8
cmp word [ebp - 0x214], 9
jne 0x4ea6ab
push str.Windows_XP_Professional_x64_Edition
push 0x100
lea eax, [ebp - 0x104]
push eax
call fcn.004e7260
cmp byte [ebp - 0x156], bl
je 0x4ea5cc
mov eax, dword [ebp - 0x214]
cmp ax, 6
jne 0x4ea516
mov al, byte [ebp - 0x158]
test al, al
jns 0x4ea4f8
push str.Datacenter_Edition_for_Itanium_based_Systems
jmp 0x4ea5bb
test al, 2
je 0x4ea5cc
push str.Enterprise_Edition_for_Itanium_based_Systems
push 0x100
lea edx, [ebp - 0x104]
push edx
jmp 0x4ea5c7
cmp ax, 9
jne 0x4ea55a
mov al, byte [ebp - 0x158]
test al, al
jns 0x4ea53c
push str.Datacenter_x64_Edition
push 0x100
lea eax, [ebp - 0x104]
push eax
jmp 0x4ea5c7
test al, 2
je 0x4ea547
push str.Enterprise_x64_Edition
jmp 0x4ea5bb
push str.Standard_x64_Edition
push 0x100
lea edx, [ebp - 0x104]
push edx
jmp 0x4ea5c7
mov eax, dword [ebp - 0x158]
test eax, 0x4000
je 0x4ea57a
push str.Compute_Cluster_Edition
push 0x100
lea eax, [ebp - 0x104]
push eax
jmp 0x4ea5c7
test al, al
jns 0x4ea585
push str.Datacenter_Edition
jmp 0x4ea5bb
test al, 2
je 0x4ea59c
push str.Enterprise_Edition
push 0x100
lea edx, [ebp - 0x104]
push edx
jmp 0x4ea5c7
test eax, 0x400
je 0x4ea5b6
push str.Web_Edition
push 0x100
lea eax, [ebp - 0x104]
push eax
jmp 0x4ea5c7
push str.Standard_Edition
push 0x100
lea ecx, [ebp - 0x104]
push ecx
call fcn.004e7260
cmp dword [ebp - 0x1ec], esi
jne 0x4ea6ab
cmp dword [ebp - 0x1e8], ebx
jne 0x4ea633
push 0x5d6f80
push 0x100
lea edx, [ebp - 0x104]
push edx
call fcn.004e7260
test dword [ebp - 0x158], 0x200
je 0x4ea615
push str._Home_Edition
push 0x100
lea eax, [ebp - 0x104]
push eax
jmp 0x4ea626
push str._Professional
push 0x100
lea ecx, [ebp - 0x104]
push ecx
call fcn.004e7260
cmp dword [ebp - 0x1ec], esi
jne 0x4ea6ab
cmp dword [ebp - 0x1e8], 0
jne 0x4ea6ab
push str.Windows_2000
push 0x100
lea edx, [ebp - 0x104]
push edx
call fcn.004e7260
cmp byte [ebp - 0x156], bl
jne 0x4ea661
push str._Professional
jmp 0x4ea69a
mov al, byte [ebp - 0x158]
test al, al
jns 0x4ea67e
push str._Datacenter_Server
push 0x100
lea ecx, [ebp - 0x104]
push ecx
jmp 0x4ea6a6
test al, 2
je 0x4ea695
push str._Advanced_Server
push 0x100
lea edx, [ebp - 0x104]
push edx
jmp 0x4ea6a6
push str._Server
push 0x100
lea eax, [ebp - 0x104]
push eax
call fcn.004e7260
lea eax, [ebp - 0x1dc]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ea6b4
sub eax, edx
je 0x4ea6ed
push 0x5cb928
push 0x100
lea ecx, [ebp - 0x104]
push ecx
call fcn.004e7260
lea edx, [ebp - 0x1dc]
push edx
push 0x100
lea eax, [ebp - 0x104]
push eax
call fcn.004e7260
push 0x4f
lea ecx, [ebp - 0x153]
push 0
push ecx
mov byte [ebp - 0x154], 0
call fcn.0055aed0
mov edx, dword [ebp - 0x1e4]
push edx
push str.__build__d_
lea eax, [ebp - 0x154]
push 0x50
push eax
call fcn.004e72e0
add esp, 0x1c
lea ecx, [ebp - 0x154]
push ecx
push 0x100
lea edx, [ebp - 0x104]
push edx
call fcn.004e7260
cmp dword [ebp - 0x1ec], 6
jb 0x4ea77c
mov eax, dword [ebp - 0x214]
cmp ax, 9
jne 0x4ea761
push str.__64_bit
push 0x100
lea eax, [ebp - 0x104]
push eax
jmp 0x4ea777
test ax, ax
jne 0x4ea77c
push str.__32_bit
push 0x100
lea ecx, [ebp - 0x104]
push ecx
call fcn.004e7260
lea eax, [ebp - 0x104]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4ea785
sub eax, edx
push eax
lea edx, [ebp - 0x104]
push edx
mov ecx, edi
call fcn.00422130
pop esi
mov al, bl
pop ebx
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00558b78
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor ecx, ebp
xor al, al
pop edi
call fcn.00558b78
mov esp, ebp
pop ebp
ret