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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x160
push esi
push edi
push 0x118
lea eax, [esp + 0x28]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x20], 0x11c
lea eax, [esp + 0x144]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
lea eax, [esp + 0x20]
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x100e2674
mov eax, dword [esp + 0x24]
mov esi, dword [ebp + 8]
add eax, 0xfffffffc
cmp eax, 6
ja case.0x100e23de.7
jmp dword [eax*4 + 0x100e267c]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100e2421
cmp eax, 0xa
je 0x100e240e
cmp eax, 0x5a
jne 0x100e265d
push 0x14
push str.Microsoft_Windows_Me
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
push 0x14
push str.Microsoft_Windows_98
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
mov eax, dword [esp + 0x30]
cmp eax, 2
jne 0x100e243d
push 0x18
push str.Microsoft_Windows_NT_4.0
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
cmp eax, 1
jne 0x100e265d
push 0x14
push str.Microsoft_Windows_95
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
mov eax, dword [esp + 0x28]
sub eax, 0
je 0x100e24ef
sub eax, 1
je 0x100e24dc
sub eax, 1
jne 0x100e265d
cmp byte [esp + 0x13a], 1
jne 0x100e249c
cmp word [esp + 0x144], 9
jne 0x100e249c
push 0x2d
push str.Microsoft_Windows_XP_Professional_x64_Edition
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x59
call edi
test eax, eax
jne 0x100e24bd
push 0x1d
push str.Microsoft_Windows_Server_2003
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
push 0x59
call edi
test eax, eax
je 0x100e265d
push 0x20
push str.Microsoft_Windows_Server_2003_R2
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
push 0x14
push str.Microsoft_Windows_XP
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
push 0x16
push str.Microsoft_Windows_2000
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
mov eax, dword [esp + 0x28]
sub eax, 0
je 0x100e257f
sub eax, 1
je 0x100e2545
cmp byte [esp + 0x13a], 1
mov ecx, 0x13
jne 0x100e2532
push ecx
mov eax, str.Microsoft_Windows_8
mov ecx, esi
push eax
call fcn.1001a600
jmp 0x100e265d
push ecx
mov eax, str.Windows_Server_2012
mov ecx, esi
push eax
call fcn.1001a600
jmp 0x100e265d
cmp byte [esp + 0x13a], 1
jne 0x100e2567
mov ecx, 0x13
mov eax, str.Microsoft_Windows_7
push ecx
push eax
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
mov ecx, 0x20
mov eax, str.Microsoft_Windows_Server_2008_R2
push ecx
push eax
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
cmp byte [esp + 0x13a], 1
jne 0x100e25a1
mov ecx, 0x17
mov eax, str.Microsoft_Windows_Vista
push ecx
push eax
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
mov ecx, 0x1d
mov eax, str.Microsoft_Windows_Server_2008
push ecx
push eax
mov ecx, esi
call fcn.1001a600
jmp 0x100e265d
mov eax, dword [esp + 0x28]
test eax, eax
je 0x100e25e2
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x10]
push str.Windows__d._d
push eax
call sym.WMCommon.dll_public:_static_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_WM::GMStringUtils::FormatResult_wchar_t_const__
add esp, 0x10
mov ecx, esi
push eax
call fcn.1001a270
jmp 0x100e2654
cmp byte [esp + 0x13a], 1
mov ecx, esi
jne 0x100e25fc
push 0x14
push str.Microsoft_Windows_10
call fcn.1001a600
jmp 0x100e265d
push 0x1d
push str.Microsoft_Windows_Server_2016
call fcn.1001a600
jmp 0x100e265d
push dword [esp + 0x28]
lea eax, [esp + 0xc]
push dword [esp + 0x28]
push str.Windows__d._d
push eax
call sym.WMCommon.dll_public:_static_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_WM::GMStringUtils::FormatResult_wchar_t_const__
mov edi, eax
add esp, 0x10
cmp esi, edi
je 0x100e2654
mov ecx, esi
call fcn.1001a5a0
movups xmm0, xmmword [edi]
xor eax, eax
movups xmmword [esi], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 7
mov word [edi], ax
lea ecx, [esp + 8]
call fcn.1001a5a0
mov ecx, dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
mov dword [ecx], eax
cmp dword [esi + 0x10], 0
je 0x100e2674
mov al, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret