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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xd4
mov eax, dword [0x5f2e68]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x24
lea eax, [ebp - 0xd4]
push 0
push eax
call fcn.005306b0
add esp, 0xc
mov esi, 0x9c
push esi
lea eax, [ebp - 0xa8]
push 0
push eax
call fcn.005306b0
add esp, 0xc
lea eax, [ebp - 0xa8]
push eax
mov dword [ebp - 0xa8], esi
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
jne 0x418d39
push str._GetLastError_
push str.:4:GetOSDescription___FAILED:_GetVersionEx___FAILED:__s
call fcn.0042b70b
pop ecx
pop ecx
mov eax, 0x60ae48
jmp 0x4192b7
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push str.GetNativeSystemInfo
push str.kernel32.dll
call esi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
test eax, eax
je 0x418d63
lea ecx, [ebp - 0xd4]
push ecx
call eax
jmp 0x418d70
lea eax, [ebp - 0xd4]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, 0x60ae48
mov eax, edi
call fcn.004ccb8b
cmp dword [ebp - 0x98], 2
mov eax, dword [ebp - 0xa4]
jne 0x4191cf
cmp eax, 4
jbe 0x4191d2
cmp eax, 0xa
jne 0x418ded
cmp dword [ebp - 0xa0], 0
jne 0x419166
and dword [ebp - 0xac], 0
cmp byte [ebp - 0xe], 1
jne 0x418dbe
push str.Windows_10
jmp 0x418dc3
push str.Windows_Server_2016
push edi
call fcn.005312b0
pop ecx
pop ecx
lea ecx, [ebp - 0xac]
call fcn.004185e3
cmp dword [ebp - 0xac], 0
je 0x418fc2
push str._UAC_Enabled
jmp 0x418fc7
cmp eax, 6
jne 0x418fcf
cmp dword [ebp - 0xa0], 3
ja 0x419166
mov eax, dword [ebp - 0xa0]
and dword [ebp - 0xac], 0
test eax, eax
jne 0x418e31
cmp byte [ebp - 0xe], 1
jne 0x418e2a
push str.Windows_Vista
push edi
call fcn.005312b0
jmp 0x418ead
push str.Windows_Server_2008
jmp 0x418e1f
cmp eax, 1
jne 0x418e54
cmp byte [ebp - 0xe], 1
mov eax, 0x200
jne 0x418e4d
push str.Windows_7
call fcn.004ce4a3
jmp 0x418eae
push str.Windows_7_Server
jmp 0x418e46
cmp eax, 2
jne 0x418e72
cmp byte [ebp - 0xe], 1
mov eax, 0x200
jne 0x418e6b
push str.Windows_8
jmp 0x418e46
push str.Windows_Server_2012
jmp 0x418e46
cmp eax, 3
mov eax, 0x200
jne 0x418e90
cmp byte [ebp - 0xe], 1
jne 0x418e89
push str.Windows_8.1
jmp 0x418e46
push str.Windows_Server_2012_R2
jmp 0x418e46
cmp byte [ebp - 0xe], 1
push dword [ebp - 0xa0]
jne 0x418ea3
push str.Unknown_Windows_Minor_ver__d
jmp 0x418ea8
push str.Unknown_Server_Minor_ver__d
call fcn.004ce4a3
pop ecx
pop ecx
push str.GetProductInfo
push str.kernel32.dll
call esi
push eax
call ebx
test eax, eax
jne 0x418eca
mov dword [ebp - 0xb0], eax
jmp 0x418ee7
lea ecx, [ebp - 0xb0]
push ecx
xor ecx, ecx
push ecx
push ecx
push ecx
push 6
call eax
mov eax, dword [ebp - 0xb0]
cmp eax, 0xa
ja 0x418f36
je case.0x418ef1.4
dec eax
cmp eax, 8
ja case.0x418ef1.5
jmp dword [eax*4 + 0x4192c7]
push str.Ultimate_Edition
jmp 0x418f8e
push str.Home_Premium_Edition
jmp 0x418f8e
push str.Home_Basic_Edition
jmp 0x418f8e
push str.Enterprise_Edition
jmp 0x418f8e
push str.Business_Edition
jmp 0x418f8e
push str.Datacenter_Edition
jmp 0x418f8e
push str.Small_Business_Server
jmp 0x418f8e
push str.Standard_Edition
jmp 0x418f8e
cmp eax, 0xf
ja 0x418f6e
je 0x418f67
sub eax, 0xb
je 0x418f60
dec eax
je 0x418f59
dec eax
je 0x418f52
dec eax
jne case.0x418ef1.5
push str.Enterprise_Edition__core_installation_
jmp 0x418f8e
push str.Standard_Edition__core_installation_
jmp 0x418f8e
push str.Datacenter_Edition__core_installation_
jmp 0x418f8e
push str.Starter_Edition
jmp 0x418f8e
push str.Enterprise_Edition_for_Itanium_based_Systems
jmp 0x418f8e
sub eax, 0x11
je 0x418f89
dec eax
je 0x418f82
sub eax, 7
jne case.0x418ef1.5
push str.Small_Business_Server_Premium_Edition
jmp 0x418f8e
push str.Cluster_Server_Edition
jmp 0x418f8e
push str.Web_Server_Edition
push edi
call fcn.005312b0
pop ecx
pop ecx
cmp word [ebp - 0xd4], 9
jne 0x418faa
push str.__64_bit
jmp 0x418dc3
cmp word [ebp - 0xd4], 0
jne 0x418dcb
push str.__32_bit
jmp 0x418dc3
push str._No_UAC
push edi
call fcn.005312b0
pop ecx
pop ecx
cmp dword [ebp - 0xa4], 5
jne 0x419166
cmp dword [ebp - 0xa0], 2
jne 0x4190e4
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x418ffc
push str.Windows_Server_2003_R2_
jmp 0x419036
cmp word [ebp - 0x10], 0x2000
jne 0x41900b
push str.Windows_Storage_Server_2003
jmp 0x419036
cmp word [ebp - 0x10], 0x8000
jne 0x41901a
push str.Windows_Home_Server
jmp 0x419036
cmp byte [ebp - 0xe], 1
jne 0x419031
cmp word [ebp - 0xd4], 9
jne 0x419031
push str.Windows_XP_Professional_x64_Edition
jmp 0x419036
push str.Windows_Server_2003_
push edi
call fcn.005312b0
cmp byte [ebp - 0xe], 1
pop ecx
pop ecx
je 0x4190d7
cmp word [ebp - 0xd4], 6
jne 0x41906c
test byte [ebp - 0x10], 0x80
je 0x41905f
push str.Datacenter_Edition_for_Itanium_based_Systems
jmp 0x4190cf
test byte [ebp - 0x10], 2
je 0x4190d7
push str.Enterprise_Edition_for_Itanium_based_Systems
jmp 0x4190cf
cmp word [ebp - 0xd4], 9
jne 0x419097
test byte [ebp - 0x10], 0x80
je 0x419083
push str.Datacenter_x64_Edition
jmp 0x4190cf
test byte [ebp - 0x10], 2
je 0x419090
push str.Enterprise_x64_Edition
jmp 0x4190cf
push str.Standard_x64_Edition
jmp 0x4190cf
mov eax, dword [ebp - 0x10]
test ax, 0x4000
je 0x4190a7
push str.Compute_Cluster_Edition
jmp 0x4190cf
test al, al
jns 0x4190b2
push str.Datacenter_Edition
jmp 0x4190cf
test al, 2
je 0x4190bd
push str.Enterprise_Edition
jmp 0x4190cf
test ax, 0x400
je 0x4190ca
push str.Web_Edition
jmp 0x4190cf
push str.Standard_Edition
push edi
call fcn.005312b0
pop ecx
pop ecx
cmp dword [ebp - 0xa4], 5
jne 0x419166
cmp dword [ebp - 0xa0], 1
mov esi, str.Professional
jne 0x419120
push str.Windows_XP
push edi
call fcn.005312b0
test word [ebp - 0x10], 0x200
pop ecx
pop ecx
je 0x41910e
push str.Home_Edition
jmp 0x41910f
push esi
push edi
call fcn.005312b0
cmp dword [ebp - 0xa4], 5
pop ecx
pop ecx
jne 0x419166
cmp dword [ebp - 0xa0], 0
jne 0x419166
push str.Windows_2000
push edi
call fcn.005312b0
cmp byte [ebp - 0xe], 1
pop ecx
pop ecx
jne 0x41913f
push esi
jmp 0x41915e
test byte [ebp - 0x10], 0x80
je 0x41914c
push str.Datacenter_Server
jmp 0x41915e
test byte [ebp - 0x10], 2
je 0x419159
push str.Advanced_Server
jmp 0x41915e
push str.Server
push edi
call fcn.005312b0
pop ecx
pop ecx
mov edx, edi
call fcn.004ccc0d
test eax, eax
je 0x419190
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push str.UNKNOWN_OS__d__d
push 0x200
push edi
call fcn.004ce4e5
add esp, 0x14
lea edx, [ebp - 0x94]
call fcn.004ccc0d
test eax, eax
jne 0x4191ba
push 0x54f278
push edi
call fcn.005312b0
lea eax, [ebp - 0x94]
push eax
push edi
call fcn.005312b0
add esp, 0x10
push dword [ebp - 0x9c]
mov eax, 0x200
push str.__build__d_
jmp 0x419268
cmp eax, 4
jne 0x419212
cmp dword [ebp - 0xa0], 0x5a
jne 0x4191e4
push str.Windows_Me
jmp 0x419225
cmp dword [ebp - 0xa0], 0xa
jne 0x4191f4
push str.Windows_98
jmp 0x419225
cmp dword [ebp - 0x98], 2
mov ecx, 0x200
mov eax, edi
jne 0x41920b
push str.Windows_NT
jmp 0x41922c
push str.Windows_95
jmp 0x41922c
cmp eax, 3
ja 0x419232
cmp dword [ebp - 0x98], 0
jne 0x419232
push str.Win32s_on_Windows_3.1
mov ecx, 0x200
mov eax, edi
call fcn.004ccc3f
pop ecx
push dword [ebp - 0x9c]
mov esi, 0x200
push 0x55ad28
mov eax, esi
call fcn.004ce4a3
pop ecx
pop ecx
lea edx, [ebp - 0x94]
call fcn.004ccc0d
test eax, eax
jne 0x41926f
lea eax, [ebp - 0x94]
push eax
push 0x55ad2c
mov eax, esi
call fcn.004ce4a3
pop ecx
pop ecx
mov edx, edi
call fcn.004ccc0d
test eax, eax
je 0x4192b5
push dword [ebp - 0x9c]
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push str.:LogResources___FAILED:_OS_Detection_FAILED:_Major_ver__u__Minor_ver__u__Build__u
call fcn.0042b70b
push dword [ebp - 0xa0]
push dword [ebp - 0xa4]
push str.UNKNOWNID_d__d
push 0x200
push edi
call fcn.004ce4e5
add esp, 0x24
mov eax, edi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005317e7
leave
ret