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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7e0
mov eax, dword [0x1001928c]
xor eax, ebp
mov dword [ebp - 8], eax
mov dword [ebp - 0x7a0], ecx
push 0x11c
push 0
lea eax, [ebp - 0x780]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
mov dword [ebp - 0x780], 0x11c
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x65c], 0
mov dword [ebp - 0x634], 0
lea ecx, [ebp - 0x780]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jne 0x10008470
mov dword [ebp - 0x780], 0x114
lea edx, [ebp - 0x780]
push edx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov dword [ebp - 0x65c], eax
push str.ntdll.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x784], eax
cmp dword [ebp - 0x784], 0
je 0x100084c6
push str.RtlGetNtVersionNumbers
mov eax, dword [ebp - 0x784]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x788], eax
cmp dword [ebp - 0x788], 0
je 0x100084c6
lea ecx, [ebp - 0x634]
push ecx
lea edx, [ebp - 0x778]
push edx
lea eax, [ebp - 0x77c]
push eax
call dword [ebp - 0x788]
cmp dword [ebp - 0x65c], 0
jne 0x100084d8
cmp dword [ebp - 0x218], 0
je 0x100084e1
cmp dword [ebp - 0x770], 2
je 0x100084fe
push 0
push str.Unsupported_operating_system_
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x7a0]
call fcn.10007c80
xor eax, eax
jmp 0x10008f73
xor edx, edx
mov dword [ebp - 0x658], edx
mov dword [ebp - 0x654], edx
mov dword [ebp - 0x650], edx
mov dword [ebp - 0x64c], edx
mov dword [ebp - 0x648], edx
mov dword [ebp - 0x644], edx
mov dword [ebp - 0x640], edx
mov dword [ebp - 0x63c], edx
mov dword [ebp - 0x638], edx
push str.GetNativeSystemInfo
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x214], eax
cmp dword [ebp - 0x214], 0
je 0x1000856b
lea eax, [ebp - 0x658]
push eax
call dword [ebp - 0x214]
jmp 0x10008578
lea ecx, [ebp - 0x658]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
xor edx, edx
mov word [ebp - 0x630], dx
push 0x206
push 0
lea eax, [ebp - 0x62e]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x630], cx
xor edx, edx
mov word [ebp - 0x428], dx
push 0x206
push 0
lea eax, [ebp - 0x426]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x428], cx
xor edx, edx
mov word [ebp - 0x210], dx
push 0x206
push 0
lea eax, [ebp - 0x20e]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
xor ecx, ecx
mov word [ebp - 0x210], cx
mov dword [ebp - 0x21c], 0
cmp dword [ebp - 0x77c], 0xa
jne 0x100086af
cmp dword [ebp - 0x778], 0
jne 0x100086af
movzx edx, byte [ebp - 0x666]
cmp edx, 1
jne 0x1000863b
push str.Microsoft_Windows_10
push 0x104
lea eax, [ebp - 0x630]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008654
push str.Microsoft_Windows_Server_2016
push 0x104
lea ecx, [ebp - 0x630]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
movzx edx, word [ebp - 0x658]
cmp edx, 9
jne 0x1000867b
push 0x1001496c
push 0x104
lea eax, [ebp - 0x210]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x100086aa
movzx ecx, word [ebp - 0x658]
test ecx, ecx
jne 0x100086a1
push 0x1001497c
push 0x104
lea edx, [ebp - 0x210]
push edx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x100086aa
xor eax, eax
mov word [ebp - 0x210], ax
jmp 0x10008ce6
cmp dword [ebp - 0x77c], 6
jne 0x10008764
cmp dword [ebp - 0x778], 2
jne 0x10008764
movzx ecx, byte [ebp - 0x666]
cmp ecx, 1
jne 0x100086f0
push str.Microsoft_Windows_8
push 0x104
lea edx, [ebp - 0x630]
push edx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008709
push str.Microsoft_Windows_Server_2012
push 0x104
lea eax, [ebp - 0x630]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
movzx ecx, word [ebp - 0x658]
cmp ecx, 9
jne 0x10008730
push 0x100149f0
push 0x104
lea edx, [ebp - 0x210]
push edx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x1000875f
movzx eax, word [ebp - 0x658]
test eax, eax
jne 0x10008756
push 0x10014a00
push 0x104
lea ecx, [ebp - 0x210]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x1000875f
xor edx, edx
mov word [ebp - 0x210], dx
jmp 0x10008ce6
cmp dword [ebp - 0x77c], 6
jne 0x10008819
cmp dword [ebp - 0x778], 1
jne 0x10008819
movzx eax, byte [ebp - 0x666]
cmp eax, 1
jne 0x100087a5
push str.Microsoft_Windows_7
push 0x104
lea ecx, [ebp - 0x630]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x100087be
push str.Microsoft_Windows_Server_2008_R2
push 0x104
lea edx, [ebp - 0x630]
push edx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
movzx eax, word [ebp - 0x658]
cmp eax, 9
jne 0x100087e5
push 0x10014a7c
push 0x104
lea ecx, [ebp - 0x210]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008814
movzx edx, word [ebp - 0x658]
test edx, edx
jne 0x1000880b
push 0x10014a8c
push 0x104
lea eax, [ebp - 0x210]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008814
xor ecx, ecx
mov word [ebp - 0x210], cx
jmp 0x10008ce6
cmp dword [ebp - 0x77c], 6
jne 0x100088ce
cmp dword [ebp - 0x778], 0
jne 0x100088ce
movzx edx, byte [ebp - 0x666]
cmp edx, 1
jne 0x1000885a
push str.Microsoft_Windows_Vista
push 0x104
lea eax, [ebp - 0x630]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008873
push str.Microsoft_Windows_Server_2008
push 0x104
lea ecx, [ebp - 0x630]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
movzx edx, word [ebp - 0x658]
cmp edx, 9
jne 0x1000889a
push str.64_bit
push 0x104
lea eax, [ebp - 0x210]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x100088c9
movzx ecx, word [ebp - 0x658]
test ecx, ecx
jne 0x100088c0
push str.32_bit
push 0x104
lea edx, [ebp - 0x210]
push edx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x100088c9
xor eax, eax
mov word [ebp - 0x210], ax
jmp 0x10008ce6
cmp dword [ebp - 0x77c], 5
jne 0x10008acc
cmp dword [ebp - 0x778], 2
jne 0x10008acc
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x1000890f
push str.Microsoft_Windows_Server_2003_R2
push 0x104
lea ecx, [ebp - 0x630]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008979
movzx edx, word [ebp - 0x668]
cmp edx, 0x2000
jne 0x10008939
push str.Microsoft_Windows_Storage_Server_2003
push 0x104
lea eax, [ebp - 0x630]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008979
movzx ecx, byte [ebp - 0x666]
cmp ecx, 1
jne 0x10008960
push 0x10014bbc
push 0x104
lea edx, [ebp - 0x630]
push edx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008979
push str.Microsoft_Windows_Server_2003
push 0x104
lea eax, [ebp - 0x630]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
movzx edx, word [ebp - 0x658]
cmp edx, 6
jne 0x100089a0
push str.for_Itanium_based_Systems
push 0x104
lea eax, [ebp - 0x210]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x100089e0
movzx ecx, word [ebp - 0x658]
cmp ecx, 9
jne 0x100089c7
push str.x64_Edition
push 0x104
lea edx, [ebp - 0x210]
push edx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x100089e0
push 0x10014c70
push 0x104
lea eax, [ebp - 0x210]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
movzx ecx, byte [ebp - 0x666]
cmp ecx, 1
je 0x10008ab3
movzx edx, word [ebp - 0x668]
and edx, 0x4000
je 0x10008a1d
push str.Compute_Cluster_Edition
push 0x104
lea eax, [ebp - 0x428]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008ab1
movzx ecx, word [ebp - 0x668]
and ecx, 0x80
je 0x10008a47
push str.Datacenter_Edition
push 0x104
lea edx, [ebp - 0x428]
push edx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008ab1
movzx eax, word [ebp - 0x668]
and eax, 2
je 0x10008a6e
push str.Enterprise_Edition
push 0x104
lea ecx, [ebp - 0x428]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008ab1
movzx edx, word [ebp - 0x668]
and edx, 0x400
je 0x10008a98
push str.Web_Edition
push 0x104
lea eax, [ebp - 0x428]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008ab1
push str.Standard_Edition
push 0x104
lea ecx, [ebp - 0x428]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008ac7
push 0x10014d34
lea edx, [ebp - 0x428]
push edx
call fcn.10009990
add esp, 8
jmp 0x10008ce6
cmp dword [ebp - 0x77c], 5
jne 0x10008b35
cmp dword [ebp - 0x778], 1
jne 0x10008b35
push str.Microsoft_Windows_XP
push 0x104
lea eax, [ebp - 0x630]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
movzx ecx, word [ebp - 0x668]
and ecx, 0x200
je 0x10008b1c
push str.Home_Edition
lea edx, [ebp - 0x428]
push edx
call fcn.10009990
add esp, 8
jmp 0x10008b30
push 0x10014d98
lea eax, [ebp - 0x428]
push eax
call fcn.10009990
add esp, 8
jmp 0x10008ce6
cmp dword [ebp - 0x77c], 5
jne 0x10008be9
cmp dword [ebp - 0x778], 0
jne 0x10008be9
push str.Microsoft_Windows_2000
push 0x104
lea ecx, [ebp - 0x630]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
movzx edx, byte [ebp - 0x666]
cmp edx, 1
je 0x10008bd0
movzx eax, word [ebp - 0x668]
and eax, 0x80
je 0x10008b98
push str.Datacenter_Server
lea ecx, [ebp - 0x428]
push ecx
call fcn.10009990
add esp, 8
jmp 0x10008bce
movzx edx, word [ebp - 0x668]
and edx, 2
je 0x10008bba
push str.Advanced_Server
lea eax, [ebp - 0x428]
push eax
call fcn.10009990
add esp, 8
jmp 0x10008bce
push str.Server
lea ecx, [ebp - 0x428]
push ecx
call fcn.10009990
add esp, 8
jmp 0x10008be4
push str.Professional
lea edx, [ebp - 0x428]
push edx
call fcn.10009990
add esp, 8
jmp 0x10008ce6
cmp dword [ebp - 0x77c], 4
jne 0x10008c8c
push str.Microsoft_Windows_NT
push 0x104
lea eax, [ebp - 0x630]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
cmp dword [ebp - 0x218], 0
je 0x10008c81
movzx ecx, byte [ebp - 0x666]
cmp ecx, 1
je 0x10008c66
movzx edx, word [ebp - 0x668]
and edx, 2
je 0x10008c4b
push str.Server_4.0__Enterprise_Edition
push 0x104
lea eax, [ebp - 0x428]
push eax
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008c64
push str.Server_4.0
push 0x104
lea ecx, [ebp - 0x428]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008c7f
push str.WorkStation_4.0
push 0x104
lea edx, [ebp - 0x428]
push edx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
jmp 0x10008c8a
xor eax, eax
mov word [ebp - 0x428], ax
jmp 0x10008ce6
mov dword [ebp - 0x78c], 0x208
mov ecx, dword [ebp - 0x78c]
push ecx
lea edx, [ebp - 0x630]
push edx
mov ecx, dword [ebp - 0x7a0]
call fcn.10008340
mov dword [ebp - 0x21c], eax
mov eax, dword [ebp - 0x21c]
and eax, 0xfff
jne 0x10008cc4
jmp 0x10008cdd
push str.Unknown_operating_system
push 0x104
lea ecx, [ebp - 0x630]
push ecx
call sub.MSVCR90.dll_wcscpy_s
add esp, 0xc
xor edx, edx
mov word [ebp - 0x428], dx
mov dword [ebp - 4], 0
lea eax, [ebp - 0x630]
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x7a4]
add ecx, 2
mov dword [ebp - 0x7a8], ecx
mov edx, dword [ebp - 0x7a4]
mov ax, word [edx]
mov word [ebp - 0x7aa], ax
add dword [ebp - 0x7a4], 2
cmp word [ebp - 0x7aa], 0
jne 0x10008d08
mov ecx, dword [ebp - 0x7a4]
sub ecx, dword [ebp - 0x7a8]
sar ecx, 1
mov dword [ebp - 0x7b0], ecx
lea edx, [ebp - 0x428]
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x7b4]
add eax, 2
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x7b4]
mov dx, word [ecx]
mov word [ebp - 0x7ba], dx
add dword [ebp - 0x7b4], 2
cmp word [ebp - 0x7ba], 0
jne 0x10008d58
mov eax, dword [ebp - 0x7b4]
sub eax, dword [ebp - 0x7b8]
sar eax, 1
mov dword [ebp - 0x7c0], eax
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x7c4], ecx
mov edx, dword [ebp - 0x7c4]
add edx, 2
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x7c4]
mov cx, word [eax]
mov word [ebp - 0x7ca], cx
add dword [ebp - 0x7c4], 2
cmp word [ebp - 0x7ca], 0
jne 0x10008da8
mov edx, dword [ebp - 0x7c4]
sub edx, dword [ebp - 0x7c8]
sar edx, 1
mov dword [ebp - 0x7d0], edx
lea eax, [ebp - 0x76c]
mov dword [ebp - 0x7d4], eax
mov ecx, dword [ebp - 0x7d4]
add ecx, 2
mov dword [ebp - 0x7d8], ecx
mov edx, dword [ebp - 0x7d4]
mov ax, word [edx]
mov word [ebp - 0x7da], ax
add dword [ebp - 0x7d4], 2
cmp word [ebp - 0x7da], 0
jne 0x10008df8
mov ecx, dword [ebp - 0x7d4]
sub ecx, dword [ebp - 0x7d8]
sar ecx, 1
mov dword [ebp - 0x7e0], ecx
mov edx, dword [ebp - 0x7b0]
add edx, dword [ebp - 0x7c0]
add edx, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x7e0]
lea ecx, [edx + eax + 6]
mov dword [ebp - 0x790], ecx
mov edx, dword [ebp - 0x790]
add edx, 0x24
mov dword [ebp - 0x790], edx
mov dword [ebp - 0x794], 0
cmp dword [ebp - 0x790], 0x400
jbe 0x10008ead
xor ecx, ecx
mov eax, dword [ebp - 0x790]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1001133b
add esp, 4
mov dword [ebp - 0x798], eax
mov eax, dword [ebp - 0x798]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x794], ecx
jmp 0x10008ebc
mov edx, dword [ebp - 0x7a0]
add edx, 4
mov dword [ebp - 0x794], edx
movsx eax, word [ebp - 0x634]
push eax
movzx ecx, word [ebp - 0x668]
push ecx
movzx edx, byte [ebp - 0x666]
push edx
mov eax, dword [ebp - 0x778]
push eax
mov ecx, dword [ebp - 0x77c]
push ecx
lea edx, [ebp - 0x76c]
push edx
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x428]
push ecx
lea edx, [ebp - 0x630]
push edx
push str.OS:__s__s__s__s___d._d._d._d___d__r_n
mov eax, dword [ebp - 0x790]
push eax
mov ecx, dword [ebp - 0x794]
push ecx
call sub.MSVCR90.dll_swprintf_s
add esp, 0x30
push 0
mov edx, dword [ebp - 0x794]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x7a0]
call fcn.10007c80
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
and ecx, 0xfff
je 0x10008f47
jmp 0x10008f4f
xor edx, edx
jne 0x10008ced
cmp dword [ebp - 4], 0
je 0x10008f6d
mov eax, dword [ebp - 4]
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
push ecx
call sub.MSVCR90.dll_void___cdecl_operator_delete___void__
add esp, 4
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100117a3
mov esp, ebp
pop ebp
ret 4