Function at 0x41e44a
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x140
push esi
push edi
push 9
xor eax, eax
pop ecx
lea edi, [ebp - 0x24]
rep stosd dword es:[edi], eax
push 0x47
lea edi, [ebp - 0x140]
pop ecx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x140]
mov dword [ebp - 0x140], 0x11c
push eax
call fcn.0041e6c9
test eax, eax
pop ecx
jne 0x41e48d
push 1
pop eax
jmp 0x41e612
push str.GetNativeSystemInfo
push 0x439484
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x41e4b0
lea ecx, [ebp - 0x24]
push ecx
call eax
jmp 0x41e4ba
lea eax, [ebp - 0x24]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
cmp dword [ebp - 0x130], 2
jne 0x41e5f8
cmp dword [ebp - 0x13c], 4
jbe 0x41e5f8
cmp dword [ebp - 0x13c], 6
push ebx
push 1
pop ebx
jne 0x41e571
mov eax, dword [ebp - 0x138]
sub eax, 0
je 0x41e55e
dec eax
je 0x41e545
dec eax
je 0x41e52c
dec eax
je 0x41e513
dec eax
jne 0x41e5f3
cmp byte [ebp - 0x26], bl
jne 0x41e5f3
mov esi, str.Windows_10
jmp 0x41e5e0
cmp byte [ebp - 0x26], bl
jne 0x41e522
mov esi, str.Windows_8.1
jmp 0x41e5e0
mov esi, str.Windows_Server_2012_R2
jmp 0x41e5e0
cmp byte [ebp - 0x26], bl
jne 0x41e53b
mov esi, str.Windows_8
jmp 0x41e5e0
mov esi, str.Windows_Server_2012
jmp 0x41e5e0
cmp byte [ebp - 0x26], bl
jne 0x41e554
mov esi, str.Windows_7
jmp 0x41e5e0
mov esi, str.Windows_Server_2008_R2
jmp 0x41e5e0
cmp byte [ebp - 0x26], bl
jne 0x41e56a
mov esi, str.Windows_Vista
jmp 0x41e5e0
mov esi, str.Windows_Server_2008
jmp 0x41e5e0
cmp dword [ebp - 0x13c], 5
jne 0x41e5f3
cmp dword [ebp - 0x138], 2
jne 0x41e5c3
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x41e596
mov esi, str.Windows_Server_2003_R2
jmp 0x41e5e0
test byte [ebp - 0x27], 0x20
je 0x41e5a3
mov esi, str.Windows_Storage_Server_2003
jmp 0x41e5e0
test byte [ebp - 0x27], 0x80
je 0x41e5b0
mov esi, str.Windows_Home_Server
jmp 0x41e5e0
cmp byte [ebp - 0x26], bl
jne 0x41e5bc
cmp word [ebp - 0x24], 9
je 0x41e5cb
mov esi, str.Windows_Server_2003
jmp 0x41e5e0
cmp dword [ebp - 0x138], ebx
jne 0x41e5d2
mov esi, str.Windows_XP
jmp 0x41e5e0
cmp dword [ebp - 0x138], 0
jne 0x41e5f3
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
pop ebx
jmp 0x41e612
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
leave
ret