Function at 0x42cdf2
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
push ebx
push esi
push edi
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0x24]
push 0x47
rep stosd dword es:[edi], eax
pop ecx
lea edi, [ebp - 0x140]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x140], 0x11c
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
jne 0x42ce36
push 1
pop eax
jmp 0x42cfc8
push str.GetNativeSystemInfo
push 0x451dcc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor esi, esi
cmp eax, esi
je 0x42ce5b
lea ecx, [ebp - 0x24]
push ecx
call eax
jmp 0x42ce65
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [ebp - 0x130], 2
jne 0x42cfae
mov eax, dword [ebp - 0x13c]
cmp eax, 4
jbe 0x42cfae
push 1
sub eax, 5
pop ebx
je 0x42cf3b
dec eax
je 0x42ceb0
sub eax, 4
jne 0x42cfae
cmp dword [ebp - 0x138], esi
jne 0x42ced9
cmp byte [ebp - 0x26], bl
je 0x42ced9
mov esi, str.Windows_10_Server
jmp 0x42cf97
mov eax, dword [ebp - 0x138]
sub eax, esi
je 0x42cf28
dec eax
je 0x42cf15
dec eax
je 0x42cefc
dec eax
je 0x42cee3
dec eax
je 0x42ced0
mov esi, str.Unsupported_version_of_Windows
jmp 0x42cf97
cmp byte [ebp - 0x26], bl
jne 0x42cfaa
mov esi, str.Windows_10
jmp 0x42cf97
cmp byte [ebp - 0x26], bl
jne 0x42cef2
mov esi, str.Windows_8.1
jmp 0x42cf97
mov esi, str.Windows_Server_2012_R2
jmp 0x42cf97
cmp byte [ebp - 0x26], bl
jne 0x42cf0b
mov esi, str.Windows_8
jmp 0x42cf97
mov esi, str.Windows_Server_2012
jmp 0x42cf97
cmp byte [ebp - 0x26], bl
jne 0x42cf21
mov esi, str.Windows_7
jmp 0x42cf97
mov esi, str.Windows_Server_2008_R2
jmp 0x42cf97
cmp byte [ebp - 0x26], bl
jne 0x42cf34
mov esi, str.Windows_Vista
jmp 0x42cf97
mov esi, str.Windows_Server_2008
jmp 0x42cf97
mov eax, dword [ebp - 0x138]
sub eax, esi
je 0x42cf92
dec eax
je 0x42cf8b
dec eax
jne 0x42cfae
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x42cf5e
mov esi, str.Windows_Server_2003_R2
jmp 0x42cf97
test byte [ebp - 0x27], 0x20
je 0x42cf6b
mov esi, str.Windows_Storage_Server_2003
jmp 0x42cf97
test byte [ebp - 0x27], 0x80
je 0x42cf78
mov esi, str.Windows_Home_Server
jmp 0x42cf97
cmp byte [ebp - 0x26], bl
jne 0x42cf84
cmp word [ebp - 0x24], 9
je 0x42cf8b
mov esi, str.Windows_Server_2003
jmp 0x42cf97
mov esi, str.Windows_XP
jmp 0x42cf97
mov esi, str.Windows_2000
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
mov ecx, dword [ebp + 8]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::append_unsigned_short_int_const___unsigned_int_]
mov eax, ebx
jmp 0x42cfc8
mov esi, str.Unsupported_version_of_Windows
push esi
call dword [sym.imp.MSVCRT.dll_wcslen]
pop ecx
mov ecx, dword [ebp + 8]
push eax
push esi
call dword [sym.imp.MSVCP60.dll_public:_class_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int______thiscall_std::basic_string_unsigned_short_int__struct_std::char_traits_unsigned_short_int___class_std::allocator_unsigned_short_int__::append_unsigned_short_int_const___unsigned_int_]
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret