Function at 0x101681a
Capabilities:
Get system information on windows

Disassembly:
push 0x20c
mov eax, 0x10226f6
call fcn.01017725
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x38], eax
push dword [ebp + 8]
xor esi, esi
push 0
inc esi
push 0x10043a
mov dword [ebp - 4], esi
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x3c], eax
test eax, eax
jne 0x101687a
mov dword [ebp - 0x34], 0x10061d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xcc]
call fcn.0100fcb4
push 0x10252e8
lea eax, [ebp - 0xcc]
push eax
call sub.MSVCR90.dll__CxxThrowException
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0xa0]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
cmp word [ebp - 0xa0], 0
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x3c]
sete bl
call dword [sym.imp.KERNEL32.dll_IsWow64Process]
test eax, eax
jne 0x10168da
mov dword [ebp - 0x34], 0x10061ac
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x124]
call fcn.0100fcb4
push 0x10252e8
lea eax, [ebp - 0x124]
jmp 0x1016874
xor edi, edi
cmp dword [ebp - 0x40], edi
jne 0x1016a1a
test bl, bl
jne 0x1016a1a
push esi
push 3
lea ecx, [ebp - 0x1ac]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_int_]
push 0x100618c
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x5c]
push eax
mov byte [ebp - 4], 3
call fcn.01016606
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x1a4]
push eax
mov byte [ebp - 4], 4
call dword [sym.imp.MSVCP90.dll_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______cdecl_std::operator___wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t_____class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
pop ecx
pop ecx
mov esi, 0x1006188
push esi
push eax
call fcn.01011da3
pop ecx
pop ecx
push dword [ebp + 8]
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t______thiscall_std::basic_ostream_wchar_t__struct_std::char_traits_wchar_t__::operator___unsigned_long_int_]
push esi
push eax
call fcn.01011da3
pop ecx
pop ecx
push 0x1006174
push eax
call fcn.01011da3
pop ecx
pop ecx
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 3
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 2
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp - 0x1ac]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____thiscall_std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::str_void_]
push eax
lea ecx, [ebp - 0x218]
mov byte [ebp - 4], 5
call fcn.010163af
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 7
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea eax, [ebp - 0x218]
push eax
call fcn.01012ada
pop ecx
test eax, 0xffff0000
je 0x10169e9
movzx eax, ax
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x34], 0x100615c
call fcn.0100fcb4
push 0x10252e8
lea eax, [ebp - 0xf8]
jmp 0x1016874
mov eax, dword [ebp - 0x38]
and dword [eax], 0
lea ecx, [ebp - 0x218]
mov dword [eax + 4], 0x80
mov byte [ebp - 4], 2
call fcn.01015267
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_stringstream_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::vbase_dtor_void_]
jmp 0x1016ad9
lea ecx, [ebp - 0x30]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_void_]
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 8
push eax
cmp dword [ebp - 0x40], edi
je 0x1016a67
call fcn.0100fd34
pop ecx
push eax
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 9
call fcn.0100fef0
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xa
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
mov byte [ebp - 4], 9
jmp 0x1016a9c
call fcn.0100fd34
pop ecx
push eax
lea ecx, [ebp - 0x5c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_wchar_t_const__]
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 0xb
call fcn.0100ff6d
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0xc
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::operator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x7c]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 8
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x3c]
call fcn.0101c1ea
mov eax, dword [ebp - 0x38]
pop ecx
pop ecx
lea ecx, [ebp - 0x30]
mov dword [eax], edi
mov dword [eax + 4], 0x80
mov byte [ebp - 4], 1
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x3c]
call fcn.0100ebb6
call fcn.01017790
ret