Function at 0x200876b
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
and dword [ebp - 4], 0
push ebx
mov ebx, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
push esi
push edi
push str.Processor
call ebx
push str.Architecture
mov dword [ebp - 8], eax
call ebx
push str.Level
mov dword [ebp - 0xc], eax
call ebx
push str.NumberOfProcessors
mov dword [ebp - 0x10], eax
call ebx
push dword [ebp - 8]
mov dword [ebp - 0x14], eax
push 1
push dword [ebp + 8]
call fcn.0200872d
mov ecx, dword [eax]
lea edx, [ebp - 4]
push edx
push 0x2015664
push eax
mov dword [ebp + 8], eax
call dword [ecx]
test eax, eax
jl 0x2008908
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx eax, word [ebp - 0x48]
cmp eax, 4
mov word [ebp - 0x24], 8
jg 0x2008818
je 0x2008811
sub eax, 0
je 0x200880a
dec eax
je 0x2008803
dec eax
je 0x20087fc
dec eax
jne 0x200882a
push str.PROCESSOR_ARCHITECTURE_PPC
jmp 0x200884b
push str.PROCESSOR_ARCHITECTURE_ALPHA
jmp 0x200884b
push str.PROCESSOR_ARCHITECTURE_MIPS
jmp 0x200884b
push str.PROCESSOR_ARCHITECTURE_INTEL
jmp 0x200884b
push str.PROCESSOR_ARCHITECTURE_SHX
jmp 0x200884b
sub eax, 5
je 0x2008846
dec eax
je 0x200883f
dec eax
je 0x2008838
sub eax, 0xfff8
je 0x2008831
push str.Unknown
jmp 0x200884b
push str.PROCESSOR_ARCHITECTURE_UNKNOWN
jmp 0x200884b
push 0x2012af8
jmp 0x200884b
push 0x2012ac0
jmp 0x200884b
push 0x2012a88
call ebx
sub esp, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edi, esp
push dword [ebp - 0xc]
lea esi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0xb4]
push dword [ebp - 0x1c]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp word [ebp - 0x48], 0
mov word [ebp - 0x24], 8
jne 0x20088b9
movzx eax, word [ebp - 0x28]
sub eax, 3
je 0x20088af
dec eax
je 0x20088a8
dec eax
je 0x20088a1
dec eax
je 0x200889a
push str.Unknown
jmp 0x20088b4
push 0x2012a48
jmp 0x20088b4
push 0x2012a2c
jmp 0x20088b4
push 0x2012a14
jmp 0x20088b4
push 0x20129fc
call ebx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x10]
lea esi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0xb4]
push dword [ebp - 0x1c]
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call ebx
mov eax, dword [ebp - 0x34]
sub esp, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edi, esp
push dword [ebp - 0x14]
mov word [ebp - 0x24], 3
lea esi, [ebp - 0x24]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0xb4]
jmp 0x200890e
mov ebx, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push dword [ebp - 8]
call ebx
push dword [ebp - 0xc]
call ebx
push dword [ebp - 0x10]
call ebx
push dword [ebp - 0x14]
call ebx
mov eax, dword [ebp - 4]
test eax, eax
je 0x200892f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
leave
ret 4