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

Disassembly:
push 0x164
mov eax, 0x4b3a30
call fcn.00473acf
mov esi, dword [ebp + 8]
and dword [ebp - 0x130], 0
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0x170]
rep stosd dword es:[edi], eax
mov edi, 0x11c
push edi
push eax
lea eax, [ebp - 0x12c]
push eax
call fcn.00473120
add esp, 0xc
lea eax, [ebp - 0x12c]
push eax
mov dword [ebp - 0x12c], edi
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x455ba2
mov ebx, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.GetNativeSystemInfo
push str.kernel32.dll
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4551c4
lea ecx, [ebp - 0x170]
push ecx
call eax
jmp 0x4551d1
lea eax, [ebp - 0x170]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [ebp - 0x11c], 2
jne 0x455850
cmp dword [ebp - 0x128], 4
jbe 0x4557f4
mov edi, 0x4c2d20
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a8e3
cmp dword [ebp - 0x128], 6
jne case.0x4552de.5
cmp dword [ebp - 0x124], 2
jne 0x455227
mov dword [ebp - 0x130], 0x1b
mov edi, str.Windows_8
jmp 0x455287
cmp dword [ebp - 0x124], 1
jne 0x455258
cmp byte [ebp - 0x12], 1
jne 0x455247
mov dword [ebp - 0x130], 0x17
mov edi, str.Windows_7
jmp 0x455287
mov dword [ebp - 0x130], 0x19
mov edi, str.Windows_Server_2008_R2
jmp 0x455287
cmp dword [ebp - 0x124], 0
jne 0x455297
cmp byte [ebp - 0x12], 1
jne 0x455278
mov dword [ebp - 0x130], 0x13
mov edi, str.Windows_Vista
jmp 0x455287
mov dword [ebp - 0x130], 0x15
mov edi, str.Windows_Server_2008
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
push str.GetProductInfo
push str.kernel32.dll
call ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x144]
push ecx
push 0
push 0
push dword [ebp - 0x124]
push dword [ebp - 0x128]
call eax
mov eax, dword [ebp - 0x144]
cmp eax, 0x19
ja 0x455355
je 0x45534e
dec eax
cmp eax, 0x11
ja case.0x4552de.5
jmp dword [eax*4 + 0x455ba9]
mov edi, 0x4c7910
jmp 0x45535f
mov edi, str.Home_Premium_Edition
jmp 0x45535f
mov edi, str.Home_Basic_Edition
jmp 0x45535f
mov edi, str.Enterprise_Edition
jmp 0x45535f
mov edi, str.Business_Edition
jmp 0x45535f
mov edi, str.Starter_Edition
jmp 0x45535f
mov edi, str.HPC_Server_Edition
jmp 0x45535f
mov edi, str.Datacenter_Edition
jmp 0x45535f
mov edi, str.Datacenter_Edition__core_installation_
jmp 0x45535f
mov edi, str.Enterprise_Edition__core_installation_
jmp 0x45535f
mov edi, str.Enterprise_Edition_for_Itanium_based_Systems
jmp 0x45535f
mov edi, str.Small_Business_Server
jmp 0x45535f
mov edi, str.Standard_Edition
jmp 0x45535f
mov edi, str.Standard_Edition__core_installation_
jmp 0x45535f
mov edi, str.Web_Server_Edition
jmp 0x45535f
mov edi, str.Small_Business_Server_Premium_Edition
jmp 0x45535f
cmp eax, 0x30
jne case.0x4552de.5
mov edi, 0x4c75e0
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 5
jne 0x4555e0
cmp dword [ebp - 0x124], 2
jne 0x4554cc
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x4553a6
mov dword [ebp - 0x130], 0x11
mov edi, str.Windows_Server_2003_R2_
jmp 0x4553f6
test dword [ebp - 0x14], 0x2000
je 0x4553b6
mov edi, str.Windows_Storage_Server_2003
jmp 0x4553ec
test dword [ebp - 0x14], 0x8000
je 0x4553c6
mov edi, str.Windows_Home_Server_2003
jmp 0x4553ec
cmp byte [ebp - 0x12], 1
jne 0x4553e7
cmp word [ebp - 0x170], 9
jne 0x4553e7
mov dword [ebp - 0x130], 0xe
mov edi, str.Windows_XP_Professional_x64_Edition
jmp 0x4553f6
mov edi, str.Windows_Server_2003_
mov dword [ebp - 0x130], 0xf
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp byte [ebp - 0x12], 1
je 0x4554bf
cmp word [ebp - 0x170], 6
jne 0x455442
test byte [ebp - 0x14], 0x80
mov dword [ebp - 0x130], 0x10
je 0x455431
mov edi, str.Datacenter_Edition_for_Itanium_based_Systems
jmp 0x4554af
test byte [ebp - 0x14], 2
je 0x4554bf
mov edi, str.Enterprise_Edition_for_Itanium_based_Systems
jmp 0x4554af
cmp word [ebp - 0x170], 9
jne 0x455477
test byte [ebp - 0x14], 0x80
mov dword [ebp - 0x130], 0x10
je 0x455463
mov edi, str.Datacenter_x64_Edition
jmp 0x4554af
test byte [ebp - 0x14], 2
je 0x455470
mov edi, str.Enterprise_x64_Edition
jmp 0x4554af
mov edi, str.Standard_x64_Edition
jmp 0x4554af
mov eax, dword [ebp - 0x14]
test eax, 0x4000
je 0x455488
mov edi, str.Compute_Cluster_Edition
jmp 0x4554af
test al, al
jns 0x455493
mov edi, str.Datacenter_Edition
jmp 0x4554af
test al, 2
je 0x45549e
mov edi, str.Enterprise_Edition
jmp 0x4554af
mov edi, str.Web_Edition
test eax, 0x400
jne 0x4554af
mov edi, str.Standard_Edition
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 5
jne 0x4555e0
cmp dword [ebp - 0x124], 1
mov ebx, str.Professional
jne 0x455570
mov edi, str.Windows_XP
push edi
mov dword [ebp - 0x130], 0xd
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
test dword [ebp - 0x14], 0x200
je 0x455516
mov edi, str.Home_Edition
push edi
call fcn.00413682
pop ecx
push eax
push edi
jmp 0x45551f
push ebx
call fcn.00413682
pop ecx
push eax
push ebx
mov ecx, esi
call fcn.0040a99e
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x57
call edi
test eax, eax
je 0x45553b
mov edi, str.Media_Center_Edition
jmp 0x455557
push 0x58
call edi
test eax, eax
je 0x45554a
mov edi, str.Starter_Edition
jmp 0x455557
push 0x56
call edi
test eax, eax
je 0x455567
mov edi, str.Tablet_PC_Edition
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 5
jne 0x4555e0
cmp dword [ebp - 0x124], 0
jne 0x4555e0
mov edi, str.Windows_2000
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp byte [ebp - 0x12], 1
jne 0x4555a9
push ebx
mov dword [ebp - 0x130], 0xb
call fcn.00413682
pop ecx
push eax
push ebx
jmp 0x4555d9
test byte [ebp - 0x14], 0x80
mov dword [ebp - 0x130], 0xc
je 0x4555c0
mov edi, str.Datacenter_Server
jmp 0x4555d0
test byte [ebp - 0x14], 2
mov edi, str.Advanced_Server
jne 0x4555d0
mov edi, str.Server
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
lea eax, [ebp - 0x118]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4555e9
sub eax, edx
sar eax, 1
je 0x45562b
mov edi, 0x4c6d28
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
lea eax, [ebp - 0x118]
push eax
call fcn.00413682
pop ecx
push eax
lea eax, [ebp - 0x118]
push eax
mov ecx, esi
call fcn.0040a99e
push 0x4f930c
lea ecx, [ebp - 0x134]
call fcn.0040a6cc
mov dword [ebp - 4], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x13c], esp
push str.CurrentBuildNumber
call fcn.00418464
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x148], esp
mov ebx, str.SOFTWAREMicrosoftWindows_NTCurrentVersion
push ebx
call fcn.00418464
mov byte [ebp - 4], 3
push ecx
mov ecx, esp
mov dword [ebp - 0x140], esp
mov edi, str.HKEY_LOCAL_MACHINE
push edi
call fcn.00418464
mov byte [ebp - 4], 4
lea eax, [ebp - 0x138]
push eax
mov byte [ebp - 4], 1
call fcn.004328c0
add esp, 0x10
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x138]
cmp dword [eax - 0xc], 0
jne 0x4556b9
push dword [ebp - 0x120]
push str.__Build__d_
jmp 0x4556bf
push eax
push str.__Build__s_
lea eax, [ebp - 0x134]
push eax
call fcn.0040ab53
add esp, 0xc
push str.9431
lea ecx, [ebp - 0x138]
call fcn.00417b22
test eax, eax
jne 0x4556fa
push str._Preview
call fcn.00413682
pop ecx
push eax
push str._Preview
mov ecx, esi
call fcn.0040a99e
push ecx
mov ecx, esp
mov dword [ebp - 0x140], esp
push str.CurrentVersion
call fcn.00418464
mov byte [ebp - 4], 6
push ecx
mov ecx, esp
mov dword [ebp - 0x148], esp
push ebx
call fcn.00418464
mov byte [ebp - 4], 7
push ecx
mov ecx, esp
mov dword [ebp - 0x14c], esp
push edi
call fcn.00418464
mov byte [ebp - 4], 8
lea eax, [ebp - 0x13c]
push eax
mov byte [ebp - 4], 5
call fcn.004328c0
add esp, 0x10
mov byte [ebp - 4], 9
push 0x4c33b0
mov ecx, eax
call fcn.00417b22
mov ebx, eax
neg ebx
sbb bl, bl
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x13c]
add ecx, 0xfffffff0
call fcn.00409a10
inc bl
je 0x455787
push str.Windows_8.1
push 0x4c71e8
mov ecx, esi
call fcn.0042f51b
mov edi, dword [ebp - 0x134]
push dword [edi - 0xc]
mov ecx, esi
push edi
call fcn.0040a99e
cmp dword [ebp - 0x128], 6
jb 0x4557d1
cmp word [ebp - 0x170], 9
jne 0x4557b2
mov ebx, str.__64_bit
jmp 0x4557c1
cmp word [ebp - 0x170], 0
jne 0x4557d1
mov ebx, str.__32_bit
push ebx
call fcn.00413682
pop ecx
push eax
push ebx
mov ecx, esi
call fcn.0040a99e
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x138]
add ecx, 0xfffffff0
call fcn.00409a10
or dword [ebp - 4], 0xffffffff
lea ecx, [edi - 0x10]
call fcn.00409a10
jmp 0x455b9c
jne 0x455822
cmp dword [ebp - 0x124], 0
jne 0x455b9c
mov edi, str.Windows_NT4
push edi
mov dword [ebp - 0x130], 6
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 3
jne 0x455b9c
cmp dword [ebp - 0x124], 0x33
jne 0x455b9c
mov dword [ebp - 0x130], 5
mov edi, str.Windows_NT_3.51
jmp 0x455b8c
cmp dword [ebp - 0x11c], 1
jne 0x45594c
cmp dword [ebp - 0x128], 4
jne 0x455b9c
cmp dword [ebp - 0x124], 0x5a
push 0xa
pop ebx
jne 0x455891
mov edi, str.Windows_Millennium_Edition
push edi
mov dword [ebp - 0x130], ebx
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x124], ebx
jne 0x4558f1
cmp dword [ebp - 0x120], 0x887
jb 0x4558cc
mov edi, str.Windows_98_Second_Edition
push edi
mov dword [ebp - 0x130], 9
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x124], ebx
jne 0x4558f1
mov edi, str.Windows_98
push edi
mov dword [ebp - 0x130], 8
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x124], ebx
jae 0x45591e
cmp dword [ebp - 0x120], 0x438
jbe 0x45591e
mov edi, str.Windows_95_OEM_Service_Release_2
push edi
mov dword [ebp - 0x130], 4
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 4
jne 0x455b9c
cmp dword [ebp - 0x124], 0
jne 0x455b9c
mov dword [ebp - 0x130], 3
mov edi, str.Windows_95
jmp 0x455b8c
cmp dword [ebp - 0x11c], 3
jne 0x455b9c
cmp dword [ebp - 0x128], 1
mov dword [ebp - 0x130], 7
jne 0x45598e
cmp dword [ebp - 0x124], 0
jne 0x455b9c
mov edi, str.Windows_CE_1.0
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 2
jne 0x455a32
cmp dword [ebp - 0x124], 0
jne 0x4559c2
mov edi, str.Windows_CE_2.0
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 2
jne 0x455a32
cmp dword [ebp - 0x124], 1
jne 0x4559e9
mov edi, str.Windows_CE_2.1
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 2
jne 0x455a32
cmp dword [ebp - 0x124], 0xb
jne 0x455a10
mov edi, str.Windows_CE_2.11
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 2
jne 0x455a32
cmp dword [ebp - 0x124], 0xc
jne 0x455b9c
mov edi, str.Windows_CE_2.12
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 3
jne 0x455a5d
cmp dword [ebp - 0x124], 0
jne 0x455b9c
mov edi, str.Windows_CE_3.0
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
push 4
pop ebx
cmp dword [ebp - 0x128], ebx
jne 0x455b00
cmp dword [ebp - 0x124], 0
jne 0x455a92
mov edi, str.Windows_CE_4.0
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], ebx
jne 0x455b00
cmp dword [ebp - 0x124], 1
jne 0x455ab8
mov edi, str.Windows_CE_4.1
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], ebx
jne 0x455b00
cmp dword [ebp - 0x124], 2
jne 0x455ade
mov edi, str.Windows_CE_4.2
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], ebx
jne 0x455b00
cmp dword [ebp - 0x124], 0x15
jne 0x455b9c
mov edi, str.Windows_CE_4.21
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 5
jne 0x455b75
cmp dword [ebp - 0x124], 0
jne 0x455b30
mov edi, str.Windows_CE_5.0
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 5
jne 0x455b75
cmp dword [ebp - 0x124], 1
jne 0x455b57
mov edi, str.Windows_CE_5.1
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 5
jne 0x455b75
cmp dword [ebp - 0x124], 2
jne 0x455b9c
mov edi, str.Windows_CE_5.2
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
cmp dword [ebp - 0x128], 6
jne 0x455b9c
cmp dword [ebp - 0x124], 0
jne 0x455b9c
mov edi, 0x4c6ee0
push edi
call fcn.00413682
pop ecx
push eax
push edi
mov ecx, esi
call fcn.0040a99e
mov eax, dword [ebp - 0x130]
call fcn.00473b52
ret