Function at 0x10072910
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x144
mov eax, dword [0x100e6018]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
push edi
test esi, esi
je 0x10072b7f
mov edi, dword [ebp + 0xc]
cmp edi, 0x14
jb 0x10072b7f
lea eax, [ebp - 0x144]
push eax
mov dword [ebp - 0x144], 0x11c
call sym.iImportLib.dll_int___cdecl_elex::os::ISAFE_GetVersionExW_struct__OSVERSIONINFOW__
add esp, 4
test eax, eax
jne 0x1007297a
lea eax, [ebp - 0x144]
push eax
mov dword [ebp - 0x144], 0x114
call sym.iImportLib.dll_int___cdecl_elex::os::ISAFE_GetVersionExW_struct__OSVERSIONINFOW__
add esp, 4
test eax, eax
je 0x10072b7f
push str.GetNativeSystemInfo
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x1007299d
lea ecx, [ebp - 0x28]
push ecx
call eax
jmp 0x100729a7
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
push 0x100b96ac
push edi
push esi
call dword [sym.imp.MSVCR110.dll_wcscpy_s]
mov eax, dword [ebp - 0x134]
add esp, 0xc
sub eax, 2
jne 0x10072b6a
cmp dword [ebp - 0x140], 0xa
push ebx
mov ebx, dword [sym.imp.MSVCR110.dll_wcscat_s]
jne 0x100729ee
cmp dword [ebp - 0x13c], eax
jne 0x10072a87
push 0x100b96a4
push edi
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x140], 6
jne 0x10072a85
cmp dword [ebp - 0x13c], 4
jne 0x10072a10
push 0x100b96a4
push edi
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x13c], 3
jne 0x10072a25
push 0x100b96b8
push edi
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x13c], 2
jne 0x10072a3a
push 0x100b96b4
push edi
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x13c], 1
jne 0x10072a5c
cmp byte [ebp - 0x2a], 1
jne 0x10072a50
push 0x100b96d0
jmp 0x10072a55
push 0x100b96c0
push edi
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x13c], 0
jne 0x10072a7e
cmp byte [ebp - 0x2a], 1
jne 0x10072a72
push str.vista
jmp 0x10072a77
push 0x100b96d4
push edi
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x140], 6
jb 0x10072aa9
mov ax, word [ebp - 0x28]
cmp ax, 9
jne 0x10072a98
push str._x64
jmp 0x10072aa2
test ax, ax
jne 0x10072aa9
push str._x86
push edi
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x140], 5
jne 0x10072b69
cmp dword [ebp - 0x13c], 2
jne 0x10072b36
push 0x59
call dword [sym.imp.USER32.dll_GetSystemMetrics]
test eax, eax
je 0x10072ad2
push str.2003_r2
jmp 0x10072af6
mov eax, 0x2000
cmp word [ebp - 0x2c], ax
je 0x10072af1
cmp byte [ebp - 0x2a], 1
jne 0x10072af1
cmp word [ebp - 0x28], 9
jne 0x10072af1
push str.xp_x64
jmp 0x10072af6
push str.2003
push edi
push esi
call ebx
add esp, 0xc
cmp byte [ebp - 0x2a], 1
je 0x10072b2d
mov ax, word [ebp - 0x28]
cmp ax, 6
jne 0x10072b14
push str._ia64
jmp 0x10072b26
cmp ax, 9
jne 0x10072b21
push str._x64
jmp 0x10072b26
push str._x86
push edi
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x140], 5
jne 0x10072b69
cmp dword [ebp - 0x13c], 1
jne 0x10072b54
push 0x100b9748
push edi
push esi
call ebx
add esp, 0xc
cmp dword [ebp - 0x140], 5
jne 0x10072b69
cmp dword [ebp - 0x13c], 0
jne 0x10072b69
push str.2000
push edi
push esi
call ebx
add esp, 0xc
pop ebx
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.100947be
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
xor eax, eax
pop esi
call fcn.100947be
mov esp, ebp
pop ebp
ret