Function at 0x42bcd4
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 0x42bd18
push 1
pop eax
jmp 0x42beaa
push str.GetNativeSystemInfo
push 0x44fc34
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor esi, esi
cmp eax, esi
je 0x42bd3d
lea ecx, [ebp - 0x24]
push ecx
call eax
jmp 0x42bd47
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [ebp - 0x130], 2
jne 0x42be90
mov eax, dword [ebp - 0x13c]
cmp eax, 4
jbe 0x42be90
push 1
sub eax, 5
pop ebx
je 0x42be1d
dec eax
je 0x42bd92
sub eax, 4
jne 0x42be90
cmp dword [ebp - 0x138], esi
jne 0x42bdbb
cmp byte [ebp - 0x26], bl
je 0x42bdbb
mov esi, str.Windows_10_Server
jmp 0x42be79
mov eax, dword [ebp - 0x138]
sub eax, esi
je 0x42be0a
dec eax
je 0x42bdf7
dec eax
je 0x42bdde
dec eax
je 0x42bdc5
dec eax
je 0x42bdb2
mov esi, str.Unsupported_version_of_Windows
jmp 0x42be79
cmp byte [ebp - 0x26], bl
jne 0x42be8c
mov esi, str.Windows_10
jmp 0x42be79
cmp byte [ebp - 0x26], bl
jne 0x42bdd4
mov esi, str.Windows_8.1
jmp 0x42be79
mov esi, str.Windows_Server_2012_R2
jmp 0x42be79
cmp byte [ebp - 0x26], bl
jne 0x42bded
mov esi, str.Windows_8
jmp 0x42be79
mov esi, str.Windows_Server_2012
jmp 0x42be79
cmp byte [ebp - 0x26], bl
jne 0x42be03
mov esi, str.Windows_7
jmp 0x42be79
mov esi, str.Windows_Server_2008_R2
jmp 0x42be79
cmp byte [ebp - 0x26], bl
jne 0x42be16
mov esi, str.Windows_Vista
jmp 0x42be79
mov esi, str.Windows_Server_2008
jmp 0x42be79
mov eax, dword [ebp - 0x138]
sub eax, esi
je 0x42be74
dec eax
je 0x42be6d
dec eax
jne 0x42be90
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x42be40
mov esi, str.Windows_Server_2003_R2
jmp 0x42be79
test byte [ebp - 0x27], 0x20
je 0x42be4d
mov esi, str.Windows_Storage_Server_2003
jmp 0x42be79
test byte [ebp - 0x27], 0x80
je 0x42be5a
mov esi, str.Windows_Home_Server
jmp 0x42be79
cmp byte [ebp - 0x26], bl
jne 0x42be66
cmp word [ebp - 0x24], 9
je 0x42be6d
mov esi, str.Windows_Server_2003
jmp 0x42be79
mov esi, str.Windows_XP
jmp 0x42be79
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 0x42beaa
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