Function at 0x42bff7
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 0x42c03b
push 1
pop eax
jmp 0x42c1cd
push str.GetNativeSystemInfo
push 0x44e978
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor esi, esi
cmp eax, esi
je 0x42c060
lea ecx, [ebp - 0x24]
push ecx
call eax
jmp 0x42c06a
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [ebp - 0x130], 2
jne 0x42c1b3
mov eax, dword [ebp - 0x13c]
cmp eax, 4
jbe 0x42c1b3
push 1
sub eax, 5
pop ebx
je 0x42c140
dec eax
je 0x42c0b5
sub eax, 4
jne 0x42c1b3
cmp dword [ebp - 0x138], esi
jne 0x42c0de
cmp byte [ebp - 0x26], bl
je 0x42c0de
mov esi, str.Windows_10_Server
jmp 0x42c19c
mov eax, dword [ebp - 0x138]
sub eax, esi
je 0x42c12d
dec eax
je 0x42c11a
dec eax
je 0x42c101
dec eax
je 0x42c0e8
dec eax
je 0x42c0d5
mov esi, str.Unsupported_version_of_Windows
jmp 0x42c19c
cmp byte [ebp - 0x26], bl
jne 0x42c1af
mov esi, str.Windows_10
jmp 0x42c19c
cmp byte [ebp - 0x26], bl
jne 0x42c0f7
mov esi, str.Windows_8.1
jmp 0x42c19c
mov esi, str.Windows_Server_2012_R2
jmp 0x42c19c
cmp byte [ebp - 0x26], bl
jne 0x42c110
mov esi, str.Windows_8
jmp 0x42c19c
mov esi, str.Windows_Server_2012
jmp 0x42c19c
cmp byte [ebp - 0x26], bl
jne 0x42c126
mov esi, str.Windows_7
jmp 0x42c19c
mov esi, str.Windows_Server_2008_R2
jmp 0x42c19c
cmp byte [ebp - 0x26], bl
jne 0x42c139
mov esi, str.Windows_Vista
jmp 0x42c19c
mov esi, str.Windows_Server_2008
jmp 0x42c19c
mov eax, dword [ebp - 0x138]
sub eax, esi
je 0x42c197
dec eax
je 0x42c190
dec eax
jne 0x42c1b3
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x42c163
mov esi, str.Windows_Server_2003_R2
jmp 0x42c19c
test byte [ebp - 0x27], 0x20
je 0x42c170
mov esi, str.Windows_Storage_Server_2003
jmp 0x42c19c
test byte [ebp - 0x27], 0x80
je 0x42c17d
mov esi, str.Windows_Home_Server
jmp 0x42c19c
cmp byte [ebp - 0x26], bl
jne 0x42c189
cmp word [ebp - 0x24], 9
je 0x42c190
mov esi, str.Windows_Server_2003
jmp 0x42c19c
mov esi, str.Windows_XP
jmp 0x42c19c
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 0x42c1cd
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