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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002e8a9
mov eax, dword fs:[0]
push eax
sub esp, 0x1ac
mov eax, dword [0x1003ccc8]
xor eax, ebp
mov dword [ebp - 0x58], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x18c], ecx
lea ecx, [ebp - 0x180]
call fcn.10001550
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.10001550
mov byte [ebp - 4], 1
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
push 0x11c
push 0
lea ecx, [ebp - 0x17c]
push ecx
call fcn.1001b720
add esp, 0xc
mov dword [ebp - 0x17c], 0x11c
lea edx, [ebp - 0x17c]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
jne 0x10006bf9
mov dword [ebp - 0x17c], 0x114
lea eax, [ebp - 0x17c]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
push str.GetNativeSystemInfo
push 0x1003449c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x10006c22
lea ecx, [ebp - 0x54]
push ecx
call dword [ebp - 0x20]
jmp 0x10006c2c
lea edx, [ebp - 0x54]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x174]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x170]
mov dword [ebp - 0x30], edx
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x28]
push ecx
lea edx, [ebp - 0x18]
push edx
mov ecx, dword [ebp - 0x18c]
call fcn.10006ab0
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x28]
push ecx
mov edx, dword [ebp - 0x18]
push edx
push str.OS_Version:__d._d__bulid__lu__r_n
mov eax, dword [ebp + 8]
push eax
call fcn.100013e0
add esp, 0x14
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x190], ecx
cmp dword [ebp - 0x190], 0
je 0x10007276
cmp dword [ebp - 0x190], 1
je 0x10007126
cmp dword [ebp - 0x190], 2
je 0x10006cb2
jmp 0x1000728a
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0x194]
sub eax, 4
mov dword [ebp - 0x194], eax
cmp dword [ebp - 0x194], 6
ja case.0x10006cdd.3
mov ecx, dword [ebp - 0x194]
jmp dword [ecx*4 + 0x10007310]
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x198], 0
je 0x10006d0a
cmp dword [ebp - 0x198], 0xa
je 0x10006d40
cmp dword [ebp - 0x198], 0x5a
je 0x10006d52
jmp 0x10006d62
cmp dword [ebp - 0x16c], 2
jne 0x10006d25
push str.Microsoft_Windows_NT_4.0
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006d3e
cmp dword [ebp - 0x16c], 1
jne 0x10006d3e
push 0x1003452c
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006d62
push 0x10034558
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006d62
push str.Microsoft_Windows_Me
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006cdd.3
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x19c], eax
cmp dword [ebp - 0x19c], 0
je 0x10006d90
cmp dword [ebp - 0x19c], 1
je 0x10006da2
cmp dword [ebp - 0x19c], 2
je 0x10006db4
jmp 0x10006e12
push str.Microsoft_Windows_2000
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006e12
push str.Microsoft_Windows_XP
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006e12
movzx ecx, byte [ebp - 0x62]
cmp ecx, 1
jne 0x10006dd8
movzx edx, word [ebp - 0x54]
cmp edx, 9
jne 0x10006dd8
push str.Microsoft_Windows_XP_Professional_x64_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006e12
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
jne 0x10006df6
push str.Microsoft_Windows_Server_2003
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006e12
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x10006e12
push str.Microsoft_Windows_Server_2003_R2
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006cdd.3
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1a0], eax
cmp dword [ebp - 0x1a0], 3
ja case.default.0x10006e33
mov ecx, dword [ebp - 0x1a0]
jmp dword [ecx*4 + 0x1000732c]
movzx edx, byte [ebp - 0x62]
cmp edx, 1
jne 0x10006e55
push str.Microsoft_Windows_Vista
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006e65
push str.Microsoft_Windows_Server_2008
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.default.0x10006e33
movzx eax, byte [ebp - 0x62]
cmp eax, 1
jne 0x10006e85
push str.Microsoft_Windows_7
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006e95
push str.Microsoft_Windows_Server_2008_R2
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.default.0x10006e33
movzx ecx, byte [ebp - 0x62]
cmp ecx, 1
jne 0x10006eb2
push str.Microsoft_Windows_8
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x10006ec2
push str.Microsoft_Windows_Server_2012
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.default.0x10006e33
movzx edx, byte [ebp - 0x62]
cmp edx, 1
jne 0x10006edf
push str.Microsoft_Windows_8.1
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.default.0x10006e33
push str.Microsoft_Windows_Server_2012_R2
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006cdd.3
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 0
je 0x10006f05
jmp case.0x10006cdd.3
movzx ecx, byte [ebp - 0x62]
cmp ecx, 1
jne 0x10006f20
push str.Microsoft_Windows_10
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006cdd.3
push str.Microsoft_Windows_Server_2016_Technical_Preview
lea ecx, [ebp - 0x180]
call fcn.10004990
push 0x10034928
lea ecx, [ebp - 0x180]
call fcn.10004990
push str.GetProductInfo
push 0x1003493c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je case.0x10006fa8.4
lea edx, [ebp - 0x10]
push edx
push 0
push 0
mov eax, dword [ebp - 0x174]
push eax
mov ecx, dword [ebp - 0x178]
push ecx
call dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1a8]
sub eax, 1
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0x18
ja case.0x10006fa8.4
mov ecx, dword [ebp - 0x1a8]
jmp dword [ecx*4 + 0x1000733c]
push str.Ultimate_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Home_Premium_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Home_Basic_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push 0x100349d0
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Business_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Starter_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Cluster_Server_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Datacenter_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Datacenter_Edition__core_installation_
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Enterprise_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Enterprise_Edition__core_installation_
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Enterprise_Edition_for_Itanium_based_Systems
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Small_Business_Server
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Small_Business_Server_Premium_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Standard_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Standard_Edition__core_installation_
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp case.0x10006fa8.4
push str.Web_Server_Edition
lea ecx, [ebp - 0x180]
call fcn.10004990
lea edx, [ebp - 0x168]
push edx
push 0x10034ccc
lea eax, [ebp - 0x14]
push eax
call fcn.100013e0
add esp, 0xc
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x180]
call fcn.10004970
jmp 0x1000728a
cmp dword [ebp - 0x178], 4
jne 0x100071ba
cmp dword [ebp - 0x174], 0
jne 0x100071ba
push str.Microsoft_Windows_95
lea edx, [ebp - 0x180]
push edx
call fcn.100013e0
add esp, 8
movzx eax, word [ebp - 0x166]
cmp eax, 0x43
je 0x10007168
movzx ecx, word [ebp - 0x166]
cmp ecx, 0x42
jne 0x100071ba
push str.OSR2
lea edx, [ebp - 0x180]
push edx
lea eax, [ebp - 0x184]
push eax
call fcn.10004c70
add esp, 0xc
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x1b0]
push edx
lea ecx, [ebp - 0x180]
call fcn.10005910
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x184]
call fcn.10001410
cmp dword [ebp - 0x178], 4
jne 0x1000724e
cmp dword [ebp - 0x174], 0xa
jne 0x1000724e
push str.Microsoft_Windows_98
lea eax, [ebp - 0x180]
push eax
call fcn.100013e0
add esp, 8
movzx ecx, word [ebp - 0x166]
cmp ecx, 0x41
je 0x100071fc
movzx edx, word [ebp - 0x166]
cmp edx, 0x42
jne 0x1000724e
push 0x10034d38
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x188]
push ecx
call fcn.10004c70
add esp, 0xc
mov dword [ebp - 0x1b4], eax
mov edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x1b8], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x1b8]
push eax
lea ecx, [ebp - 0x180]
call fcn.10005910
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x188]
call fcn.10001410
cmp dword [ebp - 0x178], 4
jne 0x10007274
cmp dword [ebp - 0x174], 0x5a
jne 0x10007274
push str.Microsoft_Windows_Millennium_Edition_n
lea ecx, [ebp - 0x180]
push ecx
call fcn.100013e0
add esp, 8
jmp 0x1000728a
push str.Microsoft_Win32s_n
lea edx, [ebp - 0x180]
push edx
call fcn.100013e0
add esp, 8
cmp dword [ebp - 0x178], 6
jb 0x100072c6
movzx eax, word [ebp - 0x54]
cmp eax, 9
jne 0x100072ae
push str.__64_bit
lea ecx, [ebp - 0x180]
call fcn.10004990
jmp 0x100072c6
movzx ecx, word [ebp - 0x54]
test ecx, ecx
jne 0x100072c6
push str.__32_bit
lea ecx, [ebp - 0x180]
call fcn.10004990
lea edx, [ebp - 0x180]
push edx
mov ecx, dword [ebp + 8]
call fcn.10004970
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x14]
call fcn.10001410
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x180]
call fcn.10001410
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x58]
xor ecx, ebp
call fcn.10018f71
mov esp, ebp
pop ebp
ret 8