Function at 0x42276a
Capabilities:
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
push ebx
push esi
mov dword [ebp - 0x14], ecx
push edi
push 0x482df8
lea ecx, [ebp - 0x24]
call fcn.0041eb84
push 9
lea ecx, [ebp - 0x24]
call fcn.0041ed24
lea eax, [ebp - 0x18]
xor ebx, ebx
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 4]
push eax
mov dword [ebp - 4], ebx
mov dword [ebp - 8], ebx
call fcn.00406896
add esp, 0x10
test eax, eax
jge 0x4227b4
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov dword [0x482a9c], ecx
test byte [0x4824cc], 8
mov dword [0x482aa0], eax
mov dword [0x48261c], edx
je 0x42281c
cmp edx, ebx
je 0x42280b
cmp edx, 1
jne 0x422886
push eax
lea eax, [ebp - 0x44]
push ecx
push eax
call fcn.00406a73
mov esi, eax
lea edi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x28]
add esp, 0xc
cmp dword [ebp - 0x34], ebx
mov dword [ebp - 8], eax
jne 0x42280e
cmp dword [ebp - 0x30], ebx
jne 0x42280e
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov dword [0x482a98], eax
mov eax, dword [ebp - 0x10]
mov dword [0x482618], eax
mov eax, dword [ebp - 8]
push 8
mov dword [0x482620], ecx
mov dword [0x482624], eax
pop ecx
xor eax, eax
lea edi, [ebp - 0x64]
mov dword [ebp - 0x68], ebx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
test byte [0x4824cc], 4
mov esi, 0x482ccc
je 0x422be0
cmp dword [ebp - 4], 1
mov esi, 0x100
mov edi, 0x200
je 0x422893
cmp dword [ebp - 4], 2
je 0x422893
cmp dword [ebp - 4], 3
je 0x422893
push 0x482e04
lea ecx, [ebp - 0x24]
call fcn.0041edf1
jmp case.default.0x4228af
call fcn.00406e91
mov dword [ebp - 8], eax
jmp 0x42280e
mov eax, dword [ebp - 0xc]
cmp eax, 0x10
ja 0x422954
je 0x42292a
dec eax
cmp eax, 8
ja case.default.0x4228af
jmp dword [eax*4 + 0x422cd7]
push ebx
push str.Intel_486
jmp 0x42299e
push ebx
push str.Intel_Pentium
jmp 0x42299e
push ebx
push str.Intel_Pentium_Pro
jmp 0x42299e
push ebx
push str.Intel_Celeron
jmp 0x42299e
push ebx
push str.Intel_Pentium_II
jmp 0x42299e
push ebx
push str.Intel_Pentium_III
jmp 0x42299e
push ebx
push str.Intel_Pentium_4
jmp 0x42299e
push ebx
push str.Intel_Pentium_M
jmp 0x42299e
push ebx
push str.Intel_Core
lea ecx, [ebp - 0x24]
call fcn.0041ed73
cmp dword [ebp - 0x54], 1
jne 0x422938
push ebx
push str._Solo
jmp 0x42299e
push ebx
push str.Intel_Core_2
lea ecx, [ebp - 0x24]
call fcn.0041ed73
cmp dword [ebp - 0x54], 2
jne 0x422946
push ebx
push str._Duo
jmp 0x42299e
cmp dword [ebp - 0x54], 4
jne case.default.0x4228af
push ebx
push str._Quad
jmp 0x42299e
cmp eax, esi
je 0x422998
cmp eax, edi
je 0x422990
cmp eax, 0x300
je 0x422988
cmp eax, 0x400
je 0x422980
cmp eax, 0x10000
je 0x422978
cmp eax, 0x20000
jne case.default.0x4228af
push ebx
push str.Cyrix_CPU
jmp 0x42299e
push ebx
push str.AMD_Athlon
jmp 0x42299e
push ebx
push str.AMD_K6_3
jmp 0x42299e
push ebx
push str.AMD_K6_2
jmp 0x42299e
push ebx
push str.AMD_K5
lea ecx, [ebp - 0x24]
call fcn.0041ed73
push 9
lea ecx, [ebp - 0x24]
call fcn.0041ed24
mov eax, dword [0x4824ac]
and eax, 0xff
cmp eax, 1
jne 0x4229c7
push ebx
push str.486_
jmp 0x422a13
cmp eax, 2
jne 0x4229d4
push ebx
push str.Pentium_
jmp 0x422a13
cmp eax, 3
jne 0x4229e1
push ebx
push str.Pentium_Pro_
jmp 0x422a13
cmp eax, 5
jne 0x4229ee
push ebx
push str.Celeron_
jmp 0x422a13
cmp eax, 4
jne 0x4229fb
push ebx
push str.Pentium_II_
jmp 0x422a13
cmp eax, 6
jne 0x422a08
push ebx
push str.Pentium_III_
jmp 0x422a13
cmp eax, 7
jne 0x422a1b
push ebx
push str.Pentium_4_
lea ecx, [ebp - 0x24]
call fcn.0041ed73
mov eax, dword [0x4824ac]
and eax, 0xff00
cmp eax, esi
jne 0x422a31
push ebx
push 0x431944
jmp 0x422a59
cmp eax, edi
jne 0x422a3d
push ebx
push str.K6_2
jmp 0x422a59
cmp eax, 0x300
jne 0x422a4c
push ebx
push str.K6_3
jmp 0x422a59
cmp eax, 0x400
jne 0x422a61
push ebx
push str.Athlon
lea ecx, [ebp - 0x24]
call fcn.0041ed73
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
dec eax
push eax
call fcn.0041f608
cmp al, 0x2f
jne 0x422a81
mov eax, dword [ebp - 0x24]
push 1
dec eax
lea ecx, [ebp - 0x24]
push eax
call fcn.0041f0d5
mov eax, dword [0x4824a8]
cmp eax, 1
jne 0x422a93
push ebx
push str.Intel_CPU
jmp 0x422a9e
cmp eax, 2
jne 0x422aa6
push ebx
push str.AMD_CPU
lea ecx, [ebp - 0x24]
call fcn.0041ed73
mov edi, 0x800000
test dword [0x4824b0], edi
je 0x422ac1
push ebx
push str._MMX_
lea ecx, [ebp - 0x24]
call fcn.0041ed73
mov esi, 0x80000000
test dword [0x4824b0], esi
je 0x422adc
push ebx
push str._3DNow__
lea ecx, [ebp - 0x24]
call fcn.0041ed73
xor eax, eax
mov ebx, 0x42f9e4
cmp dword [0x4824a8], eax
jne 0x422b05
cmp dword [0x4824ac], eax
jne 0x422b05
cmp dword [0x4824b0], eax
jne 0x422b05
push eax
push ebx
lea ecx, [ebp - 0x24]
call fcn.0041ed73
push 9
lea ecx, [ebp - 0x24]
call fcn.0041ed24
mov edx, dword [0x4824a8]
mov eax, dword [0x4824b0]
mov ecx, dword [0x4824ac]
test edx, edx
jne 0x422b30
test ecx, ecx
jne 0x422b30
test eax, eax
je 0x422bc0
test edi, eax
je 0x422b39
test dword [ebp - 0x10], edi
je 0x422b48
test esi, eax
je 0x422b5d
test dword [ebp - 0x18], esi
je 0x422b48
cmp dword [ebp - 4], 2
je 0x422b5d
push 0x482cb4
lea ecx, [ebp - 0x24]
call fcn.0041edf1
inc dword [0x482638]
jmp 0x422bcd
cmp dword [ebp - 4], 0
jne 0x422b82
test edx, edx
jne 0x422b6f
test ecx, ecx
jne 0x422b6f
test eax, eax
je 0x422b8b
push 0
push ebx
lea ecx, [ebp - 0x24]
call fcn.0041ed73
inc dword [0x482640]
jmp 0x422bcd
test edx, edx
je 0x422b8b
cmp edx, dword [ebp - 4]
jne 0x422b48
mov eax, ecx
and eax, 0xff
je 0x422b9d
cmp dword [ebp - 0xc], eax
sbb eax, eax
neg eax
jmp 0x422ba0
push 1
pop eax
test eax, eax
je 0x422bc0
and ecx, 0xff00
je 0x422bb5
cmp dword [ebp - 0xc], ecx
sbb eax, eax
neg eax
jmp 0x422bb8
push 1
pop eax
test eax, eax
je 0x422bc0
test edx, edx
je 0x422b48
push 0x482ccc
lea ecx, [ebp - 0x24]
call fcn.0041edf1
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x24]
push eax
call fcn.004221e9
xor ebx, ebx
mov esi, 0x482ccc
test byte [0x4824cc], 8
je 0x422cca
push 0x482e10
lea ecx, [ebp - 0x24]
call fcn.0041ecc1
push 9
lea ecx, [ebp - 0x24]
call fcn.0041ed24
mov edi, dword [ebp - 8]
cmp edi, ebx
jne 0x422c5e
push 0x482e04
lea ecx, [ebp - 0x24]
call fcn.0041edf1
push 9
lea ecx, [ebp - 0x24]
call fcn.0041ed24
mov eax, dword [0x4824b8]
cmp eax, ebx
jne 0x422c44
push ebx
push 0x4318bc
lea ecx, [ebp - 0x24]
call fcn.0041ed73
push esi
lea ecx, [ebp - 0x24]
call fcn.0041edf1
jmp 0x422cbe
push eax
lea eax, [ebp - 0x24]
push str._d_MHz_t_
push eax
call fcn.0041f193
add esp, 0xc
inc dword [0x482640]
jmp 0x422cbe
lea eax, [ebp - 0x30]
push 0xa
push eax
push edi
call fcn.00429b4c
add esp, 0xc
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x24]
push ebx
push eax
call fcn.0041ed73
push ebx
push str._MHz_t
lea ecx, [ebp - 0x24]
call fcn.0041ed73
mov eax, dword [0x4824b8]
cmp eax, ebx
je 0x422c2b
push eax
lea eax, [ebp - 0x24]
push str._d_MHz_t
push eax
call fcn.0041f193
add esp, 0xc
cmp edi, dword [0x4824b8]
jae 0x422c39
push 0x482cb4
lea ecx, [ebp - 0x24]
call fcn.0041edf1
inc dword [0x482638]
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x24]
push eax
call fcn.004221e9
lea ecx, [ebp - 0x24]
call fcn.0041ebe6
pop edi
pop esi
pop ebx
leave
ret