Function at 0x422c07
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 0x482f00
lea ecx, [ebp - 0x24]
call fcn.0041f009
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1be
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 0x422c51
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 4]
mov dword [0x482ba4], ecx
test byte [0x4825d4], 8
mov dword [0x482ba8], eax
mov dword [0x482724], edx
je 0x422cb9
cmp edx, ebx
je 0x422ca8
cmp edx, 1
jne 0x422d23
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 0x422cab
cmp dword [ebp - 0x30], ebx
jne 0x422cab
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
mov dword [0x482ba0], eax
mov eax, dword [ebp - 0x10]
mov dword [0x482720], eax
mov eax, dword [ebp - 8]
push 8
mov dword [0x482728], ecx
mov dword [0x48272c], 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 [0x4825d4], 4
mov esi, 0x482dd4
je 0x42307d
cmp dword [ebp - 4], 1
mov esi, 0x100
mov edi, 0x200
je 0x422d30
cmp dword [ebp - 4], 2
je 0x422d30
cmp dword [ebp - 4], 3
je 0x422d30
push 0x482f0c
lea ecx, [ebp - 0x24]
call fcn.0041f28b
jmp case.default.0x422d4c
call fcn.00406e91
mov dword [ebp - 8], eax
jmp 0x422cab
mov eax, dword [ebp - 0xc]
cmp eax, 0x10
ja 0x422df1
je 0x422dc7
dec eax
cmp eax, 8
ja case.default.0x422d4c
jmp dword [eax*4 + 0x423174]
push ebx
push str.Intel_486
jmp 0x422e3b
push ebx
push str.Intel_Pentium
jmp 0x422e3b
push ebx
push str.Intel_Pentium_Pro
jmp 0x422e3b
push ebx
push str.Intel_Celeron
jmp 0x422e3b
push ebx
push str.Intel_Pentium_II
jmp 0x422e3b
push ebx
push str.Intel_Pentium_III
jmp 0x422e3b
push ebx
push str.Intel_Pentium_4
jmp 0x422e3b
push ebx
push str.Intel_Pentium_M
jmp 0x422e3b
push ebx
push str.Intel_Core
lea ecx, [ebp - 0x24]
call fcn.0041f20d
cmp dword [ebp - 0x54], 1
jne 0x422dd5
push ebx
push str._Solo
jmp 0x422e3b
push ebx
push str.Intel_Core_2
lea ecx, [ebp - 0x24]
call fcn.0041f20d
cmp dword [ebp - 0x54], 2
jne 0x422de3
push ebx
push str._Duo
jmp 0x422e3b
cmp dword [ebp - 0x54], 4
jne case.default.0x422d4c
push ebx
push str._Quad
jmp 0x422e3b
cmp eax, esi
je 0x422e35
cmp eax, edi
je 0x422e2d
cmp eax, 0x300
je 0x422e25
cmp eax, 0x400
je 0x422e1d
cmp eax, 0x10000
je 0x422e15
cmp eax, 0x20000
jne case.default.0x422d4c
push ebx
push str.Cyrix_CPU
jmp 0x422e3b
push ebx
push str.AMD_Athlon
jmp 0x422e3b
push ebx
push str.AMD_K6_3
jmp 0x422e3b
push ebx
push str.AMD_K6_2
jmp 0x422e3b
push ebx
push str.AMD_K5
lea ecx, [ebp - 0x24]
call fcn.0041f20d
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1be
mov eax, dword [0x4825b4]
and eax, 0xff
cmp eax, 1
jne 0x422e64
push ebx
push str.486_
jmp 0x422eb0
cmp eax, 2
jne 0x422e71
push ebx
push str.Pentium_
jmp 0x422eb0
cmp eax, 3
jne 0x422e7e
push ebx
push str.Pentium_Pro_
jmp 0x422eb0
cmp eax, 5
jne 0x422e8b
push ebx
push str.Celeron_
jmp 0x422eb0
cmp eax, 4
jne 0x422e98
push ebx
push str.Pentium_II_
jmp 0x422eb0
cmp eax, 6
jne 0x422ea5
push ebx
push str.Pentium_III_
jmp 0x422eb0
cmp eax, 7
jne 0x422eb8
push ebx
push str.Pentium_4_
lea ecx, [ebp - 0x24]
call fcn.0041f20d
mov eax, dword [0x4825b4]
and eax, 0xff00
cmp eax, esi
jne 0x422ece
push ebx
push 0x4319b0
jmp 0x422ef6
cmp eax, edi
jne 0x422eda
push ebx
push str.K6_2
jmp 0x422ef6
cmp eax, 0x300
jne 0x422ee9
push ebx
push str.K6_3
jmp 0x422ef6
cmp eax, 0x400
jne 0x422efe
push ebx
push str.Athlon
lea ecx, [ebp - 0x24]
call fcn.0041f20d
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
dec eax
push eax
call fcn.0041f1a9
cmp al, 0x2f
jne 0x422f1e
mov eax, dword [ebp - 0x24]
push 1
dec eax
lea ecx, [ebp - 0x24]
push eax
call fcn.0041f56f
mov eax, dword [0x4825b0]
cmp eax, 1
jne 0x422f30
push ebx
push str.Intel_CPU
jmp 0x422f3b
cmp eax, 2
jne 0x422f43
push ebx
push str.AMD_CPU
lea ecx, [ebp - 0x24]
call fcn.0041f20d
mov edi, 0x800000
test dword [0x4825b8], edi
je 0x422f5e
push ebx
push str._MMX_
lea ecx, [ebp - 0x24]
call fcn.0041f20d
mov esi, 0x80000000
test dword [0x4825b8], esi
je 0x422f79
push ebx
push str._3DNow__
lea ecx, [ebp - 0x24]
call fcn.0041f20d
xor eax, eax
mov ebx, 0x42fa1c
cmp dword [0x4825b0], eax
jne 0x422fa2
cmp dword [0x4825b4], eax
jne 0x422fa2
cmp dword [0x4825b8], eax
jne 0x422fa2
push eax
push ebx
lea ecx, [ebp - 0x24]
call fcn.0041f20d
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1be
mov edx, dword [0x4825b0]
mov eax, dword [0x4825b8]
mov ecx, dword [0x4825b4]
test edx, edx
jne 0x422fcd
test ecx, ecx
jne 0x422fcd
test eax, eax
je 0x42305d
test edi, eax
je 0x422fd6
test dword [ebp - 0x10], edi
je 0x422fe5
test esi, eax
je 0x422ffa
test dword [ebp - 0x18], esi
je 0x422fe5
cmp dword [ebp - 4], 2
je 0x422ffa
push 0x482dbc
lea ecx, [ebp - 0x24]
call fcn.0041f28b
inc dword [0x482740]
jmp 0x42306a
cmp dword [ebp - 4], 0
jne 0x42301f
test edx, edx
jne 0x42300c
test ecx, ecx
jne 0x42300c
test eax, eax
je 0x423028
push 0
push ebx
lea ecx, [ebp - 0x24]
call fcn.0041f20d
inc dword [0x482748]
jmp 0x42306a
test edx, edx
je 0x423028
cmp edx, dword [ebp - 4]
jne 0x422fe5
mov eax, ecx
and eax, 0xff
je 0x42303a
cmp dword [ebp - 0xc], eax
sbb eax, eax
neg eax
jmp 0x42303d
push 1
pop eax
test eax, eax
je 0x42305d
and ecx, 0xff00
je 0x423052
cmp dword [ebp - 0xc], ecx
sbb eax, eax
neg eax
jmp 0x423055
push 1
pop eax
test eax, eax
je 0x42305d
test edx, edx
je 0x422fe5
push 0x482dd4
lea ecx, [ebp - 0x24]
call fcn.0041f28b
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x24]
push eax
call fcn.00422686
mov esi, 0x482dd4
xor ebx, ebx
test byte [0x4825d4], 8
je 0x423167
push 0x482f18
lea ecx, [ebp - 0x24]
call fcn.0041f146
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1be
mov edi, dword [ebp - 8]
cmp edi, ebx
jne 0x4230fb
push 0x482f0c
lea ecx, [ebp - 0x24]
call fcn.0041f28b
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1be
mov eax, dword [0x4825c0]
cmp eax, ebx
jne 0x4230e1
push ebx
push 0x431928
lea ecx, [ebp - 0x24]
call fcn.0041f20d
push esi
lea ecx, [ebp - 0x24]
call fcn.0041f28b
jmp 0x42315b
push eax
lea eax, [ebp - 0x24]
push str._d_MHz_t_
push eax
call fcn.0041f62d
add esp, 0xc
inc dword [0x482748]
jmp 0x42315b
lea eax, [ebp - 0x30]
push 0xa
push eax
push edi
call fcn.0042b8b6
add esp, 0xc
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x24]
push ebx
push eax
call fcn.0041f20d
push ebx
push str._MHz_t
lea ecx, [ebp - 0x24]
call fcn.0041f20d
mov eax, dword [0x4825c0]
cmp eax, ebx
je 0x4230c8
push eax
lea eax, [ebp - 0x24]
push str._d_MHz_t
push eax
call fcn.0041f62d
add esp, 0xc
cmp edi, dword [0x4825c0]
jae 0x4230d6
push 0x482dbc
lea ecx, [ebp - 0x24]
call fcn.0041f28b
inc dword [0x482740]
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x24]
push eax
call fcn.00422686
lea ecx, [ebp - 0x24]
call fcn.0041f06b
pop edi
pop esi
pop ebx
leave
ret