Function at 0x422be9
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.0041f001
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1b6
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 0x422c33
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 0x422c9b
cmp edx, ebx
je 0x422c8a
cmp edx, 1
jne 0x422d05
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 0x422c8d
cmp dword [ebp - 0x30], ebx
jne 0x422c8d
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 0x42305f
cmp dword [ebp - 4], 1
mov esi, 0x100
mov edi, 0x200
je 0x422d12
cmp dword [ebp - 4], 2
je 0x422d12
cmp dword [ebp - 4], 3
je 0x422d12
push 0x482f0c
lea ecx, [ebp - 0x24]
call fcn.0041f283
jmp case.default.0x422d2e
call fcn.00406e91
mov dword [ebp - 8], eax
jmp 0x422c8d
mov eax, dword [ebp - 0xc]
cmp eax, 0x10
ja 0x422dd3
je 0x422da9
dec eax
cmp eax, 8
ja case.default.0x422d2e
jmp dword [eax*4 + 0x423156]
push ebx
push str.Intel_486
jmp 0x422e1d
push ebx
push str.Intel_Pentium
jmp 0x422e1d
push ebx
push str.Intel_Pentium_Pro
jmp 0x422e1d
push ebx
push str.Intel_Celeron
jmp 0x422e1d
push ebx
push str.Intel_Pentium_II
jmp 0x422e1d
push ebx
push str.Intel_Pentium_III
jmp 0x422e1d
push ebx
push str.Intel_Pentium_4
jmp 0x422e1d
push ebx
push str.Intel_Pentium_M
jmp 0x422e1d
push ebx
push str.Intel_Core
lea ecx, [ebp - 0x24]
call fcn.0041f205
cmp dword [ebp - 0x54], 1
jne 0x422db7
push ebx
push str._Solo
jmp 0x422e1d
push ebx
push str.Intel_Core_2
lea ecx, [ebp - 0x24]
call fcn.0041f205
cmp dword [ebp - 0x54], 2
jne 0x422dc5
push ebx
push str._Duo
jmp 0x422e1d
cmp dword [ebp - 0x54], 4
jne case.default.0x422d2e
push ebx
push str._Quad
jmp 0x422e1d
cmp eax, esi
je 0x422e17
cmp eax, edi
je 0x422e0f
cmp eax, 0x300
je 0x422e07
cmp eax, 0x400
je 0x422dff
cmp eax, 0x10000
je 0x422df7
cmp eax, 0x20000
jne case.default.0x422d2e
push ebx
push str.Cyrix_CPU
jmp 0x422e1d
push ebx
push str.AMD_Athlon
jmp 0x422e1d
push ebx
push str.AMD_K6_3
jmp 0x422e1d
push ebx
push str.AMD_K6_2
jmp 0x422e1d
push ebx
push str.AMD_K5
lea ecx, [ebp - 0x24]
call fcn.0041f205
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1b6
mov eax, dword [0x4825b4]
and eax, 0xff
cmp eax, 1
jne 0x422e46
push ebx
push str.486_
jmp 0x422e92
cmp eax, 2
jne 0x422e53
push ebx
push str.Pentium_
jmp 0x422e92
cmp eax, 3
jne 0x422e60
push ebx
push str.Pentium_Pro_
jmp 0x422e92
cmp eax, 5
jne 0x422e6d
push ebx
push str.Celeron_
jmp 0x422e92
cmp eax, 4
jne 0x422e7a
push ebx
push str.Pentium_II_
jmp 0x422e92
cmp eax, 6
jne 0x422e87
push ebx
push str.Pentium_III_
jmp 0x422e92
cmp eax, 7
jne 0x422e9a
push ebx
push str.Pentium_4_
lea ecx, [ebp - 0x24]
call fcn.0041f205
mov eax, dword [0x4825b4]
and eax, 0xff00
cmp eax, esi
jne 0x422eb0
push ebx
push 0x4319b0
jmp 0x422ed8
cmp eax, edi
jne 0x422ebc
push ebx
push str.K6_2
jmp 0x422ed8
cmp eax, 0x300
jne 0x422ecb
push ebx
push str.K6_3
jmp 0x422ed8
cmp eax, 0x400
jne 0x422ee0
push ebx
push str.Athlon
lea ecx, [ebp - 0x24]
call fcn.0041f205
mov eax, dword [ebp - 0x24]
lea ecx, [ebp - 0x24]
dec eax
push eax
call fcn.0041f1a1
cmp al, 0x2f
jne 0x422f00
mov eax, dword [ebp - 0x24]
push 1
dec eax
lea ecx, [ebp - 0x24]
push eax
call fcn.0041f567
mov eax, dword [0x4825b0]
cmp eax, 1
jne 0x422f12
push ebx
push str.Intel_CPU
jmp 0x422f1d
cmp eax, 2
jne 0x422f25
push ebx
push str.AMD_CPU
lea ecx, [ebp - 0x24]
call fcn.0041f205
mov edi, 0x800000
test dword [0x4825b8], edi
je 0x422f40
push ebx
push str._MMX_
lea ecx, [ebp - 0x24]
call fcn.0041f205
mov esi, 0x80000000
test dword [0x4825b8], esi
je 0x422f5b
push ebx
push str._3DNow__
lea ecx, [ebp - 0x24]
call fcn.0041f205
xor eax, eax
mov ebx, 0x42fa1c
cmp dword [0x4825b0], eax
jne 0x422f84
cmp dword [0x4825b4], eax
jne 0x422f84
cmp dword [0x4825b8], eax
jne 0x422f84
push eax
push ebx
lea ecx, [ebp - 0x24]
call fcn.0041f205
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1b6
mov edx, dword [0x4825b0]
mov eax, dword [0x4825b8]
mov ecx, dword [0x4825b4]
test edx, edx
jne 0x422faf
test ecx, ecx
jne 0x422faf
test eax, eax
je 0x42303f
test edi, eax
je 0x422fb8
test dword [ebp - 0x10], edi
je 0x422fc7
test esi, eax
je 0x422fdc
test dword [ebp - 0x18], esi
je 0x422fc7
cmp dword [ebp - 4], 2
je 0x422fdc
push 0x482dbc
lea ecx, [ebp - 0x24]
call fcn.0041f283
inc dword [0x482740]
jmp 0x42304c
cmp dword [ebp - 4], 0
jne 0x423001
test edx, edx
jne 0x422fee
test ecx, ecx
jne 0x422fee
test eax, eax
je 0x42300a
push 0
push ebx
lea ecx, [ebp - 0x24]
call fcn.0041f205
inc dword [0x482748]
jmp 0x42304c
test edx, edx
je 0x42300a
cmp edx, dword [ebp - 4]
jne 0x422fc7
mov eax, ecx
and eax, 0xff
je 0x42301c
cmp dword [ebp - 0xc], eax
sbb eax, eax
neg eax
jmp 0x42301f
push 1
pop eax
test eax, eax
je 0x42303f
and ecx, 0xff00
je 0x423034
cmp dword [ebp - 0xc], ecx
sbb eax, eax
neg eax
jmp 0x423037
push 1
pop eax
test eax, eax
je 0x42303f
test edx, edx
je 0x422fc7
push 0x482dd4
lea ecx, [ebp - 0x24]
call fcn.0041f283
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x24]
push eax
call fcn.00422668
mov esi, 0x482dd4
xor ebx, ebx
test byte [0x4825d4], 8
je 0x423149
push 0x482f18
lea ecx, [ebp - 0x24]
call fcn.0041f13e
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1b6
mov edi, dword [ebp - 8]
cmp edi, ebx
jne 0x4230dd
push 0x482f0c
lea ecx, [ebp - 0x24]
call fcn.0041f283
push 9
lea ecx, [ebp - 0x24]
call fcn.0041f1b6
mov eax, dword [0x4825c0]
cmp eax, ebx
jne 0x4230c3
push ebx
push 0x431928
lea ecx, [ebp - 0x24]
call fcn.0041f205
push esi
lea ecx, [ebp - 0x24]
call fcn.0041f283
jmp 0x42313d
push eax
lea eax, [ebp - 0x24]
push str._d_MHz_t_
push eax
call fcn.0041f625
add esp, 0xc
inc dword [0x482748]
jmp 0x42313d
lea eax, [ebp - 0x30]
push 0xa
push eax
push edi
call fcn.0042b896
add esp, 0xc
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x24]
push ebx
push eax
call fcn.0041f205
push ebx
push str._MHz_t
lea ecx, [ebp - 0x24]
call fcn.0041f205
mov eax, dword [0x4825c0]
cmp eax, ebx
je 0x4230aa
push eax
lea eax, [ebp - 0x24]
push str._d_MHz_t
push eax
call fcn.0041f625
add esp, 0xc
cmp edi, dword [0x4825c0]
jae 0x4230b8
push 0x482dbc
lea ecx, [ebp - 0x24]
call fcn.0041f283
inc dword [0x482740]
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x24]
push eax
call fcn.00422668
lea ecx, [ebp - 0x24]
call fcn.0041f063
pop edi
pop esi
pop ebx
leave
ret