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

Disassembly:
push 0x160
mov eax, 0x10018522
call fcn.1001450a
mov eax, dword [ebp + 8]
and dword [ebp - 0x148], 0
mov esi, 0x11c
push esi
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0x12c]
push 0
push eax
call fcn.10008be0
add esp, 0xc
lea eax, [ebp - 0x12c]
push eax
mov dword [ebp - 0x12c], esi
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x10003ae2
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.GetNativeSystemInfo
mov esi, 0x1001be98
push esi
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call ebx
test eax, eax
je 0x10003a50
lea ecx, [ebp - 0x16c]
push ecx
call eax
jmp 0x10003a5d
lea eax, [ebp - 0x16c]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [ebp - 0x11c], 2
jne 0x10003ae2
cmp dword [ebp - 0x128], 4
jbe 0x10003ae2
push str.GetProductInfo
push esi
call edi
push eax
call ebx
xor edi, edi
cmp eax, edi
je 0x10003ada
lea ecx, [ebp - 0x140]
push ecx
push edi
push edi
push dword [ebp - 0x124]
push dword [ebp - 0x128]
call eax
push 0x1001b858
lea eax, [ebp - 0x130]
push eax
call fcn.100027cb
push 5
pop esi
mov dword [ebp - 4], edi
cmp dword [ebp - 0x128], 6
push 0xa
pop ebx
jne 0x10003b55
cmp dword [ebp - 0x124], edi
jne 0x10003b02
cmp byte [ebp - 0x12], 1
lea eax, [ebp - 0x130]
jne 0x10003af7
push esi
push 0x1001ba60
jmp 0x10003afd
mov dword [ebp - 0x140], edi
jmp 0x10003a97
push 0x1001b858
push dword [ebp - 0x138]
call fcn.100027cb
jmp 0x10003d34
push ebx
push str.Server2008
call fcn.100036a0
cmp dword [ebp - 0x124], 1
jne 0x10003b2c
cmp byte [ebp - 0x12], 1
lea eax, [ebp - 0x130]
jne 0x10003b20
push 4
push str.Win7
jmp 0x10003b27
push 0xc
push str.Server2008R2
call fcn.100036a0
cmp dword [ebp - 0x124], 2
jne 0x10003b55
cmp byte [ebp - 0x12], 1
lea eax, [ebp - 0x130]
jne 0x10003b4a
push 4
push str.Win8
jmp 0x10003b50
push ebx
push str.Server2012
call fcn.100036a0
cmp dword [ebp - 0x128], esi
jne 0x10003be4
cmp dword [ebp - 0x124], 2
jne 0x10003b9c
cmp byte [ebp - 0x12], 1
jne 0x10003b83
cmp word [ebp - 0x16c], 9
jne 0x10003b83
push 8
push str.WinXPx64
jmp 0x10003b89
push ebx
push str.Server2003
lea eax, [ebp - 0x130]
call fcn.100036a0
cmp dword [ebp - 0x128], esi
jne 0x10003be4
cmp dword [ebp - 0x124], 1
jne 0x10003bbe
push esi
push str.WinXP
lea eax, [ebp - 0x130]
call fcn.100036a0
cmp dword [ebp - 0x128], esi
jne 0x10003be4
cmp dword [ebp - 0x124], edi
jne 0x10003be4
cmp byte [ebp - 0x12], 1
push ebx
lea eax, [ebp - 0x130]
jne 0x10003bda
push str.Win2000Pro
jmp 0x10003bdf
push str.Server2000
call fcn.100036a0
mov eax, dword [0x1001f038]
mov edi, 0x1001f038
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x13c], eax
mov byte [ebp - 4], 1
mov eax, dword [0x1001f038]
mov ecx, edi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x134], eax
mov byte [ebp - 4], 2
push 3
pop ebx
cmp dword [ebp - 0x128], esi
jne 0x10003c42
cmp dword [ebp - 0x124], 2
jne 0x10003c6f
cmp byte [ebp - 0x12], 1
jne 0x10003c6f
cmp word [ebp - 0x16c], 9
jne 0x10003c6f
push 0x1001bb38
jmp 0x10003c64
cmp dword [ebp - 0x128], 6
jb 0x10003c6f
cmp word [ebp - 0x16c], 9
je 0x10003c3b
cmp word [ebp - 0x16c], 0
jne 0x10003c6f
push 0x1001bb40
lea eax, [ebp - 0x134]
call fcn.10001d76
movzx eax, word [ebp - 0x16]
push eax
movzx eax, word [ebp - 0x18]
push eax
push dword [ebp - 0x134]
lea eax, [ebp - 0x13c]
push dword [ebp - 0x140]
push dword [ebp - 0x124]
push dword [ebp - 0x128]
push 0x77
push str._c_d._d_p_d__s_SP_d._d
call fcn.1000424c
add esp, 0x20
push 0x1001bb78
lea eax, [ebp - 0x144]
push eax
call fcn.10001aa9
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0x148]
push eax
lea edi, [ebp - 0x130]
mov byte [ebp - 4], bl
call fcn.10001b4e
lea ecx, [ebp - 0x13c]
push ecx
push dword [ebp - 0x138]
mov edi, eax
mov byte [ebp - 4], 4
call fcn.10001b4e
mov eax, dword [ebp - 0x148]
add esp, 0x10
add eax, 0xfffffff0
call fcn.100021af
mov eax, dword [ebp - 0x144]
add eax, 0xfffffff0
call fcn.100021af
mov eax, dword [ebp - 0x134]
add eax, 0xfffffff0
call fcn.100021af
mov eax, dword [ebp - 0x13c]
add eax, 0xfffffff0
call fcn.100021af
mov eax, dword [ebp - 0x130]
add eax, 0xfffffff0
call fcn.100021af
mov eax, dword [ebp - 0x138]
call fcn.10014554
ret 4