Function at 0x40a470
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x2b4
mov eax, dword [0x4efd34]
xor eax, esp
mov dword [esp + 0x2b0], eax
push ebx
push esi
push edi
push 0xffffffffffffffff
mov edi, ecx
call fcn.00438660
mov ecx, eax
call fcn.00437470
test eax, eax
je 0x40bd14
mov eax, dword [0x4f1a1c]
lea esi, [edi + 0xf8]
push esi
push str._html__head__title_CPU_Z__s_HTML_report_file__title___head__body_bgcolorFFFFFF__n
push eax
call fcn.00497c06
mov ecx, dword [0x4f1a1c]
push str._font_face_arial__color_000000___n
push ecx
call fcn.00497c06
mov edx, dword [0x4f1a1c]
push str._table_border0_width_100____cellspacing_0__cellpadding_5___n
push edx
call fcn.00497c06
mov eax, dword [0x4f1a1c]
push str._tr_align_left___n
push eax
call fcn.00497c06
mov ecx, dword [0x4f1a1c]
push str._td__n
push ecx
call fcn.00497c06
mov edx, dword [0x4f1a1c]
push str._p__a_href_http:__www.cpuid.com__targetblank__img_src_http:__www.cpuid.com_pics_logo.jpg__border_0__width_172__height_55____a___p__n
push edx
call fcn.00497c06
mov eax, dword [0x4f1a1c]
push esi
push str._p__b_CPU_Z__s_report_file__b___p__n
push eax
call fcn.00497c06
mov ecx, dword [0x4f1a1c]
add esp, 0x40
push str.__td__n
push ecx
call fcn.00497c06
mov edx, dword [0x4f1a1c]
push str.__tr__n
push edx
call fcn.00497c06
mov ecx, dword [edi + 0xbc]
add esp, 0x10
push 0
call fcn.0043cc90
mov esi, eax
test esi, esi
je 0x40b4bd
push str.nbsp
push str.Processor_s_
mov ecx, edi
call fcn.00407ac0
mov ecx, edi
call fcn.00407a80
mov eax, dword [edi + 0xbc]
mov ecx, dword [eax + 8]
push ecx
push 0x4b74b0
push str.Number_of_processors
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, esi
call fcn.00439a10
push eax
push str._d_per_processor
push str.Number_of_cores
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, esi
call fcn.00439a20
push eax
push str._d_per_processor
push str.Number_of_threads
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, esi
call fcn.0043a2b0
push eax
push 0x4b6f84
push str.Name
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, esi
call fcn.0043a2f0
push eax
push 0x4b6f84
push str.Code_Name
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, esi
call fcn.0043a330
cmp byte [eax], 0
je 0x40a653
mov ecx, esi
call fcn.0043a330
push eax
push 0x4b6f84
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.004374b0
add esp, 0x10
mov ecx, esi
call fcn.0043a280
test eax, eax
je 0x40a66d
push str.__Engineering_Sample_
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004373f0
jmp 0x40a66a
push str.nbsp
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004374b0
add esp, 0xc
lea edx, [esp + 0xb8]
push edx
push 0x4b6f84
push str.Specification
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, esi
call fcn.00439c90
push eax
push 0x4b6f84
push str.Package
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, esi
call fcn.0043a500
push eax
mov ecx, esi
call fcn.0043a4d0
push eax
mov ecx, esi
call fcn.0043a4a0
push eax
push str._X._X._X
push str.Family_Model_Stepping
push edi
call fcn.00407ff0
add esp, 0x18
mov ecx, esi
call fcn.0043a530
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40a705
mov ecx, esi
call fcn.0043a560
push eax
mov ecx, esi
call fcn.0043a530
push eax
push str._X._X
push str.Extended_Family_Model
push edi
call fcn.00407ff0
add esp, 0x14
mov ecx, esi
call fcn.0043a470
test eax, eax
jle 0x40a72b
mov ecx, esi
call fcn.0043a470
push eax
push 0x4b74b0
push str.Brand_ID
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, esi
call fcn.0043a3f0
push eax
push 0x4b6f84
push str.Core_Stepping
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, esi
call fcn.0043a430
fstp dword [esp + 0x18]
fldz
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x40a7dc
fcom qword [0x4b73b8]
fnstsw ax
test ah, 5
jp 0x40a79f
fmul qword [0x4b73b0]
fstp dword [esp + 0x18]
fld dword [esp + 0x18]
call fcn.00497ad0
push eax
push str._d_nm
lea eax, [esp + 0xc0]
push 0x200
push eax
call fcn.004374b0
add esp, 0x10
jmp 0x40a7bf
sub esp, 8
fstp qword [esp]
push str._1.2f_um
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x14
lea edx, [esp + 0xb8]
push edx
push 0x4b6f84
push str.Technology
push edi
call fcn.00407ff0
add esp, 0x10
jmp 0x40a7de
fstp st(0)
push 0
mov ecx, esi
call fcn.0043a710
fmul qword [0x4b80c0]
mov ecx, esi
fstp dword [esp + 0x18]
call fcn.00439900
push 0
fstp dword [esp + 0x20]
mov ecx, esi
call fcn.0043a730
fstp dword [esp + 0x24]
fldz
fld dword [esp + 0x18]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x40a94d
sub esp, 8
fstp qword [esp]
push 0x4b7370
push str.Core_Speed
push edi
call fcn.00407ff0
fld dword [esp + 0x2c]
add esp, 0xc
fstp qword [esp]
push 0x4b7370
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.004374b0
fldz
fld dword [esp + 0x38]
add esp, 0x14
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x40a8d5
fld dword [esp + 0x1c]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x40a8d9
fld qword [0x4b7368]
fmul st(1)
call fcn.00497ad0
fxch st(1)
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esp, 0x10
lea edx, [eax + eax*4]
add edx, edx
sub ecx, edx
fstp qword [esp + 8]
fstp qword [esp]
je 0x40a8c0
push str._.2f_x__.1f_MHz
push str.Multiplier_x_Bus_speed
push edi
call fcn.00407ff0
add esp, 0x1c
jmp 0x40a8dd
push str._.1f_x__.1f_MHz
push str.Multiplier_x_Bus_speed
push edi
call fcn.00407ff0
add esp, 0x1c
jmp 0x40a8dd
fstp st(1)
jmp 0x40a8db
fstp st(0)
fstp st(0)
mov ecx, esi
call fcn.0043a7f0
fstp dword [esp + 0x1c]
fldz
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 5
jp 0x40a94f
mov ecx, esi
call fcn.0043a250
and eax, 0xffffff00
cmp eax, 0x2002000
je 0x40a92e
cmp eax, 0x2004000
je 0x40a92e
fld dword [esp + 0x1c]
sub esp, 8
fstp qword [esp]
push str._4.1f_MHz
push str.Rated_Bus_speed
push edi
call fcn.00407ff0
add esp, 0x14
jmp 0x40a94f
fld dword [esp + 0x1c]
sub esp, 8
fstp qword [esp]
push str._4.1f_MHz
push str.HT_Link_speed
push edi
call fcn.00407ff0
add esp, 0x14
jmp 0x40a94f
fstp st(0)
mov ecx, esi
call fcn.0043a860
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40a97e
mov ecx, esi
call fcn.0043a860
push eax
push str._d_MHz
push str.Stock_frequency
push edi
call fcn.00407ff0
add esp, 0x10
push 1
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, 0x4b7430
jne 0x40a995
mov eax, 0x4b742d
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004374b0
add esp, 0xc
push 2
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, 0x4b7428
jne 0x40a9c2
mov eax, 0x4b742d
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
add esp, 0xc
push 3
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__3DNow_
jne 0x40a9ef
mov eax, 0x4b742d
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
add esp, 0xc
push 4
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, 0x4b7428
jne 0x40aa1c
mov eax, 0x4b742d
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004373f0
add esp, 0xc
push 5
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE
jne 0x40aa49
mov eax, 0x4b742d
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
add esp, 0xc
push 6
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE2
jne 0x40aa76
mov eax, 0x4b742d
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
add esp, 0xc
push 7
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE3
jne 0x40aaa3
mov eax, 0x4b742d
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004373f0
add esp, 0xc
push 8
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSSE3
jne 0x40aad0
mov eax, 0x4b742d
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
add esp, 0xc
push 9
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE4.1
jne 0x40aafd
mov eax, 0x4b742d
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
add esp, 0xc
push 0xc
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE4.2
jne 0x40ab2a
mov eax, 0x4b742d
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004373f0
add esp, 0xc
push 0xd
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE4A
jne 0x40ab57
mov eax, 0x4b742d
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
add esp, 0xc
push 0xe
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE5
jne 0x40ab84
mov eax, 0x4b742d
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
add esp, 0xc
mov ecx, esi
call fcn.0043a250
test eax, 0x1000000
push 0x10
mov ecx, esi
je 0x40abcf
call fcn.0043a5f0
test eax, eax
mov eax, str.__EM64T
jne 0x40abbf
mov eax, 0x4b742d
push eax
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x40abf0
call fcn.0043a5f0
test eax, eax
mov eax, 0x4b73c0
jne 0x40abe2
mov eax, 0x4b742d
push eax
push 0x200
lea ecx, [esp + 0xc0]
push ecx
call fcn.004373f0
add esp, 0xc
cmp byte [esp + 0xb8], 0
lea eax, [esp + 0xb8]
jne 0x40ac0e
mov eax, str.nbsp
push eax
push 0x4b6f84
push str.Instruction_sets
push edi
call fcn.00407ff0
add esp, 0x10
push 1
push 1
mov ecx, esi
call fcn.00439c10
push 2
push 1
mov ecx, esi
mov ebx, eax
call fcn.00439c10
push 4
push 1
mov ecx, esi
mov dword [esp + 0x3c], eax
call fcn.00439c10
push 3
push 2
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.00439c10
push 1
push 2
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.00439c10
push 2
push 2
mov ecx, esi
mov dword [esp + 0x2c], eax
call fcn.00439c10
push 3
push 3
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.00439c10
test ebx, ebx
mov dword [esp + 0x20], eax
jle 0x40adb7
push 1
push 1
mov ecx, esi
call fcn.00439bc0
test eax, eax
mov dword [esp + 0x1c], eax
je 0x40adb7
mov edx, eax
mov eax, dword [edx + 0xc]
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40adb7
cmp ebx, 1
jle 0x40acec
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
push eax
push ebx
push str._d_x__d_KBytes
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.004374b0
mov ebx, dword [esp + 0x30]
add esp, 0x14
jmp 0x40ad0e
mov ebx, dword [esp + 0x1c]
mov eax, dword [ebx + 0xc]
push eax
push str._d_KBytes
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.004374b0
add esp, 0x10
mov eax, dword [ebx + 0x18]
cmp eax, 0xffffffff
je 0x40ad6a
cmp eax, 1
je 0x40ad55
cmp eax, 0xff
je 0x40ad40
mov ecx, dword [ebx + 0x14]
push ecx
push eax
push str.___d_way_set_associative___d_byte_line_size
lea edx, [esp + 0x44]
push 0x80
push edx
call fcn.004374b0
add esp, 0x14
jmp 0x40ad85
mov eax, dword [ebx + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40ad7d
mov edx, dword [ebx + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x40ad7d
mov ecx, dword [ebx + 0x14]
push ecx
push str.___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.004374b0
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
lea edx, [esp + 0xc4]
push edx
push 0x4b6f84
push str.L1_Data_cache__per_processor_
push edi
call fcn.00407ff0
add esp, 0x1c
cmp dword [esp + 0x34], 0
jle 0x40aedf
push 2
push 1
mov ecx, esi
call fcn.00439bc0
mov ebx, eax
test ebx, ebx
je 0x40afa3
mov eax, dword [ebx + 0xc]
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40afa3
cmp dword [esp + 0x34], 1
mov eax, dword [ebx + 0xc]
push eax
jle 0x40ae17
mov eax, dword [esp + 0x38]
push eax
push str._d_x__d_KBytes
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x14
jmp 0x40ae31
push str._d_KBytes
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.004374b0
add esp, 0x10
mov eax, dword [ebx + 0x18]
cmp eax, 0xffffffff
je 0x40ae8d
cmp eax, 1
je 0x40ae78
cmp eax, 0xff
je 0x40ae63
mov ecx, dword [ebx + 0x14]
push ecx
push eax
push str.___d_way_set_associative___d_byte_line_size
lea edx, [esp + 0x44]
push 0x80
push edx
call fcn.004374b0
add esp, 0x14
jmp 0x40aea8
mov eax, dword [ebx + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40aea0
mov edx, dword [ebx + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x40aea0
mov ecx, dword [ebx + 0x14]
push ecx
push str.___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.004374b0
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
lea edx, [esp + 0xc4]
push edx
push 0x4b6f84
push str.L1_Instruction_cache__per_processor_
push edi
call fcn.00407ff0
add esp, 0x1c
jmp 0x40afa3
cmp dword [esp + 0x2c], 0
jle 0x40afa3
push 4
push 1
mov ecx, esi
call fcn.00439bc0
mov ebx, eax
test ebx, ebx
je 0x40afa3
mov eax, dword [ebx + 0xc]
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40afa3
cmp dword [esp + 0x2c], 1
mov eax, dword [ebx + 0xc]
push eax
jle 0x40af3f
mov eax, dword [esp + 0x30]
push eax
push str._d_x__d_Kuops
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x14
jmp 0x40af59
push str._d_Kuops
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.004374b0
add esp, 0x10
mov eax, dword [ebx + 0x18]
push eax
push str.___d_way_set_associative
lea ecx, [esp + 0x40]
push 0x80
push ecx
call fcn.004374b0
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0xcc]
push 0x200
push eax
call fcn.004373f0
lea ecx, [esp + 0xd4]
push ecx
push 0x4b6f84
push str.Trace_cache__per_processor_
push edi
call fcn.00407ff0
add esp, 0x2c
cmp dword [esp + 0x28], 0
jle 0x40b0c6
push 2
push 2
mov ecx, esi
call fcn.00439bc0
mov ebx, eax
test ebx, ebx
je 0x40b0c6
mov eax, dword [ebx + 0xc]
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b0c6
cmp dword [esp + 0x28], 1
mov eax, dword [ebx + 0xc]
push eax
jle 0x40b003
mov edx, dword [esp + 0x2c]
push edx
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.004374b0
add esp, 0x14
jmp 0x40b01d
push str._d_KBytes
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x10
mov eax, dword [ebx + 0x18]
cmp eax, 0xffffffff
je 0x40b079
cmp eax, 1
je 0x40b064
cmp eax, 0xff
je 0x40b04f
mov edx, dword [ebx + 0x14]
push edx
push eax
push str.___d_way_set_associative___d_byte_line_size
lea eax, [esp + 0x44]
push 0x80
push eax
call fcn.004374b0
add esp, 0x14
jmp 0x40b094
mov ecx, dword [ebx + 0x14]
push ecx
push str.__Fully_associative___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x40b08c
mov eax, dword [ebx + 0x14]
push eax
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40b08c
mov edx, dword [ebx + 0x14]
push edx
push str.___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
call fcn.004374b0
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
lea eax, [esp + 0xc4]
push eax
push 0x4b6f84
push str.L2_Instruction_cache__per_processor_
push edi
call fcn.00407ff0
add esp, 0x1c
cmp dword [esp + 0x24], 0
jle 0x40b1e9
push 1
push 2
mov ecx, esi
call fcn.00439bc0
mov ebx, eax
test ebx, ebx
je 0x40b1e9
mov eax, dword [ebx + 0xc]
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b1e9
cmp dword [esp + 0x24], 1
mov eax, dword [ebx + 0xc]
push eax
jle 0x40b126
mov ecx, dword [esp + 0x28]
push ecx
push str._d_x__d_KBytes
lea edx, [esp + 0xc4]
push 0x200
push edx
call fcn.004374b0
add esp, 0x14
jmp 0x40b140
push str._d_KBytes
lea eax, [esp + 0xc0]
push 0x200
push eax
call fcn.004374b0
add esp, 0x10
mov eax, dword [ebx + 0x18]
cmp eax, 0xffffffff
je 0x40b19c
cmp eax, 1
je 0x40b187
cmp eax, 0xff
je 0x40b172
mov ecx, dword [ebx + 0x14]
push ecx
push eax
push str.___d_way_set_associative___d_byte_line_size
lea edx, [esp + 0x44]
push 0x80
push edx
call fcn.004374b0
add esp, 0x14
jmp 0x40b1b7
mov eax, dword [ebx + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40b1af
mov edx, dword [ebx + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x40b1af
mov ecx, dword [ebx + 0x14]
push ecx
push str.___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.004374b0
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
lea edx, [esp + 0xc4]
push edx
push 0x4b6f84
push str.L2_Data_cache__per_processor_
push edi
call fcn.00407ff0
add esp, 0x1c
cmp dword [esp + 0x18], 0
jle 0x40b30c
push 3
push 2
mov ecx, esi
call fcn.00439bc0
mov ebx, eax
test ebx, ebx
je 0x40b30c
mov eax, dword [ebx + 0xc]
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b30c
cmp dword [esp + 0x18], 1
mov eax, dword [ebx + 0xc]
push eax
jle 0x40b249
mov eax, dword [esp + 0x1c]
push eax
push str._d_x__d_KBytes
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x14
jmp 0x40b263
push str._d_KBytes
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.004374b0
add esp, 0x10
mov eax, dword [ebx + 0x18]
cmp eax, 0xffffffff
je 0x40b2bf
cmp eax, 1
je 0x40b2aa
cmp eax, 0xff
je 0x40b295
mov ecx, dword [ebx + 0x14]
push ecx
push eax
push str.___d_way_set_associative___d_byte_line_size
lea edx, [esp + 0x44]
push 0x80
push edx
call fcn.004374b0
add esp, 0x14
jmp 0x40b2da
mov eax, dword [ebx + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40b2d2
mov edx, dword [ebx + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x40b2d2
mov ecx, dword [ebx + 0x14]
push ecx
push str.___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.004374b0
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
lea edx, [esp + 0xc4]
push edx
push 0x4b6f84
push str.L2_cache__per_processor_
push edi
call fcn.00407ff0
add esp, 0x1c
cmp dword [esp + 0x20], 0
jle 0x40b4b6
push 3
push 3
mov ecx, esi
call fcn.00439bc0
mov ebx, eax
test ebx, ebx
je 0x40b4b6
mov esi, dword [ebx + 0xc]
push esi
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b4b6
cmp dword [esp + 0x20], 1
jle 0x40b3b3
cmp esi, 0x400
jl 0x40b391
mov eax, esi
and eax, 0x800003ff
jns 0x40b35f
dec eax
or eax, 0xfffffc00
inc eax
jne 0x40b391
mov ecx, dword [esp + 0x20]
mov eax, esi
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
push eax
push ecx
push str._d_x__d_MBytes
lea edx, [esp + 0xc4]
push 0x200
push edx
call fcn.004374b0
add esp, 0x14
jmp 0x40b40d
mov eax, dword [esp + 0x20]
push esi
push eax
push str._d_x__d_KBytes
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x14
jmp 0x40b40d
cmp esi, 0x400
jl 0x40b3f2
mov edx, esi
and edx, 0x800003ff
jns 0x40b3cd
dec edx
or edx, 0xfffffc00
inc edx
jne 0x40b3f2
mov eax, esi
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
push eax
push str._d_MBytes
push 0x200
lea eax, [esp + 0xc4]
push eax
jmp 0x40b405
push esi
push str._d_KBytes
push 0x200
lea ecx, [esp + 0xc4]
push ecx
call fcn.004374b0
add esp, 0x10
mov eax, dword [ebx + 0x18]
cmp eax, 0xffffffff
je 0x40b469
cmp eax, 1
je 0x40b454
cmp eax, 0xff
je 0x40b43f
mov edx, dword [ebx + 0x14]
push edx
push eax
push str.___d_way_set_associative___d_byte_line_size
lea eax, [esp + 0x44]
push 0x80
push eax
call fcn.004374b0
add esp, 0x14
jmp 0x40b484
mov ecx, dword [ebx + 0x14]
push ecx
push str.__Fully_associative___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x40b47c
mov eax, dword [ebx + 0x14]
push eax
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40b47c
mov edx, dword [ebx + 0x14]
push edx
push str.___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
call fcn.004374b0
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
lea eax, [esp + 0xc4]
push eax
push 0x4b6f84
push str.L3_cache__per_processor_
push edi
call fcn.00407ff0
add esp, 0x1c
mov ecx, edi
call fcn.00407aa0
cmp dword [edi + 0xc4], 0
je 0x40ba52
mov eax, dword [edi + 0xc4]
mov ecx, dword [eax + 0x14]
mov esi, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x10]
push str.nbsp
mov dword [esp + 0x28], ecx
push str.Chipset__Memory
mov ecx, edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x20], edx
call fcn.00407ac0
mov ecx, edi
call fcn.00407a80
test esi, esi
je 0x40b526
lea eax, [esi + 0x88]
push eax
lea ecx, [esi + 0x48]
push ecx
add esi, 8
push esi
push str._s__s_rev.__s
push str.Northbridge
push edi
call fcn.00407ff0
add esp, 0x18
test ebx, ebx
je 0x40b54c
lea edx, [ebx + 0x88]
push edx
lea eax, [ebx + 0x48]
push eax
add ebx, 8
push ebx
push str._s__s_rev.__s
push str.Southbridge
push edi
call fcn.00407ff0
add esp, 0x18
call fcn.00438660
cmp dword [eax + 0x34], 0
je 0x40b723
push 0xc
call fcn.00488f77
add esp, 4
test eax, eax
je 0x40b578
mov ecx, eax
call fcn.00403c20
mov esi, eax
mov dword [esp + 0x20], eax
jmp 0x40b57e
xor esi, esi
mov dword [esp + 0x20], esi
call fcn.00438660
mov eax, dword [eax + 0x34]
push esi
push 0
push 3
mov ecx, eax
call fcn.0043f790
test eax, eax
je 0x40b713
cmp dword [esp + 0x20], 0
je 0x40b723
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 4]
test eax, eax
mov dword [esp + 0x30], eax
je 0x40b713
mov edx, eax
mov eax, dword [edx + 4]
test eax, eax
je 0x40b713
push eax
call fcn.00434150
mov eax, dword [eax + 0x18]
add esp, 4
test eax, eax
je 0x40b615
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x40b615
mov esi, dword [ebx + 4]
test esi, esi
je 0x40b615
push 2
mov ecx, esi
call fcn.0043dac0
test eax, eax
jne 0x40b63f
push 0x10
mov ecx, esi
call fcn.0043dac0
test eax, eax
jne 0x40b6d0
test ebx, ebx
je 0x40b615
mov eax, dword [ebx + 8]
test eax, eax
je 0x40b615
mov esi, dword [eax + 4]
test esi, esi
mov ebx, eax
jne 0x40b5e3
cmp dword [esp + 0x30], 0
je 0x40b713
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
test eax, eax
je 0x40b713
mov dword [esp + 0x30], eax
mov eax, dword [eax + 4]
test eax, eax
jne 0x40b5c5
jmp 0x40b713
push esi
call fcn.00434150
mov esi, eax
add esp, 4
cmp dword [esi + 0x54], 0
je 0x40b713
push 0x4b8508
push str.Graphic_Interface
push edi
call fcn.00407ff0
movzx eax, byte [esi + 0x58]
mov ecx, eax
and ecx, 0xf
push ecx
shr eax, 4
push eax
push str._d._d
push str.AGP_Revision
push edi
call fcn.00407ff0
mov edx, dword [esi + 0x48]
push edx
push 0x4b6f9c
push str.AGP_Transfer_Rate
push edi
call fcn.00407ff0
add esp, 0x30
cmp dword [esi + 0x34], 0
mov ecx, str.enabled
jne 0x40b6a9
mov ecx, str.not_enabled
cmp dword [esi + 0x30], 0
mov eax, str.supported
jne 0x40b6b9
mov eax, str.not_supported
push ecx
push eax
push str._s___s
push str.AGP_Side_Band_Addressing
push edi
call fcn.00407ff0
add esp, 0x14
jmp 0x40b713
push esi
call fcn.00434150
push str.PCI_Express
push str.Graphic_Interface
push edi
mov esi, eax
call fcn.00407ff0
mov eax, dword [esi + 0x1c]
push eax
push 0x4b6f64
push str.PCI_E_Link_Width
push edi
call fcn.00407ff0
mov ecx, dword [esi + 0x18]
push ecx
push 0x4b6f64
push str.PCI_E_Max_Link_Width
push edi
call fcn.00407ff0
add esp, 0x30
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x40b723
mov edx, dword [ecx]
mov eax, dword [edx]
push 1
call eax
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40b74f
mov esi, dword [eax + 0xc]
push esi
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b74f
push esi
push str._d_KBytes
push str.On_Board_Cache
push edi
call fcn.00407ff0
add esp, 0x10
mov esi, dword [esp + 0x24]
test esi, esi
je 0x40ba4b
mov byte [esp + 0xb8], 0
mov eax, dword [esi + 4]
add eax, 0xfffffffe
cmp eax, 7
ja case.default.0x40b772
jmp dword [eax*4 + 0x40bd2c]
push 0x4b7d80
push 0x200
lea ecx, [esp + 0xc0]
push ecx
jmp 0x40b7fd
push 0x4b7d7c
jmp 0x40b7f0
push str.SDRAM
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x40b7fd
push str.RDRAM
push 0x200
lea ecx, [esp + 0xc0]
push ecx
jmp 0x40b7fd
push 0x4b7d68
jmp 0x40b7f0
push str.DDR2
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x40b7fd
push str.DDR3
push 0x200
lea ecx, [esp + 0xc0]
push ecx
jmp 0x40b7fd
push str.FB_DDR2
push 0x200
lea edx, [esp + 0xc0]
push edx
call fcn.004374b0
add esp, 0xc
lea eax, [esp + 0xb8]
push eax
push 0x4b6f84
push str.Memory_Type
push edi
call fcn.00407ff0
mov ecx, dword [esi + 8]
push ecx
push str._d_MBytes
push str.Memory_Size
push edi
call fcn.00407ff0
fldz
fcomp dword [esi + 0x40]
add esp, 0x20
fnstsw ax
test ah, 5
jp 0x40b860
fld dword [esi + 0x40]
lea edx, [esi + 0x78]
push edx
sub esp, 8
fstp qword [esp]
push str._.1f_MHz___s_
push str.Memory_Frequency
push edi
call fcn.00407ff0
add esp, 0x18
mov ebx, dword [esi + 0x4c]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b8c6
test ebx, ebx
jne 0x40b890
push str.none
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004374b0
add esp, 0xc
jmp 0x40b8ab
push ebx
push str._d_way
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x10
lea edx, [esp + 0xb8]
push edx
push 0x4b6f84
push str.DRAM_Interleave
push edi
call fcn.00407ff0
add esp, 0x10
fldz
fcomp dword [esi + 0x18]
fnstsw ax
test ah, 5
jp 0x40b8ee
fld dword [esi + 0x18]
sub esp, 8
fstp qword [esp]
push str._.1f_clocks
push str.CAS_Latency__tCL_
push edi
call fcn.00407ff0
add esp, 0x14
mov ebx, dword [esi + 0x1c]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b912
push ebx
push str._d_clocks
push str.RAS_to_CAS__tRCD_
push edi
call fcn.00407ff0
add esp, 0x10
mov ebx, dword [esi + 0x20]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b936
push ebx
push str._d_clocks
push 0x4b83b8
push edi
call fcn.00407ff0
add esp, 0x10
mov ebx, dword [esi + 0x24]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b95a
push ebx
push str._d_clocks
push str.Cycle_Time__tRAS_
push edi
call fcn.00407ff0
add esp, 0x10
mov ebx, dword [esi + 0x28]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b97e
push ebx
push str._d_clocks
push str.Bank_Cycle_Time__tRC_
push edi
call fcn.00407ff0
add esp, 0x10
mov ebx, dword [esi + 0x38]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b9a2
push ebx
push str._d_clocks
push str.DRAM_Idle_Timer
push edi
call fcn.00407ff0
add esp, 0x10
mov ebx, dword [esi + 0x3c]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b9c6
push ebx
push 0x4b8378
push str.Command_Rate__CR_
push edi
call fcn.00407ff0
add esp, 0x10
mov ebx, dword [esi + 0x34]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40b9ea
push ebx
push 0x4b74b0
push str.Total_CAS__tRDRAM_
push edi
call fcn.00407ff0
add esp, 0x10
mov esi, dword [esi + 0x30]
push esi
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40ba0e
push esi
push 0x4b74b0
push str.Row_To_Column__tRCD_
push edi
call fcn.00407ff0
add esp, 0x10
mov eax, dword [esp + 0x28]
test eax, eax
je 0x40ba4b
mov esi, dword [eax + 0xa4]
push esi
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40ba4b
test esi, esi
mov eax, str.enabled
jne 0x40ba37
mov eax, str.disabled
push eax
push 0x4b6f84
push str.Performance_Mode
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, edi
call fcn.00407aa0
cmp dword [edi + 0xd0], 0
je 0x40bbda
push str.nbsp
push str.System
mov ecx, edi
call fcn.00407ac0
mov ecx, edi
call fcn.00407a80
mov ecx, dword [edi + 0xd0]
push 1
call fcn.00486ba0
test eax, eax
je 0x40baf6
push eax
call fcn.00434150
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
jne 0x40baa0
mov eax, str.nbsp
push eax
push 0x4b6f84
push str.System_Manufacturer
push edi
call fcn.00407ff0
mov eax, dword [esi + 0xc]
add esp, 0x10
cmp byte [eax], 0
jne 0x40bac1
mov eax, str.nbsp
push eax
push 0x4b6f84
push str.System_Name
push edi
call fcn.00407ff0
mov esi, dword [esi + 0x14]
add esp, 0x10
cmp byte [esi], 0
jne 0x40bae2
mov esi, str.nbsp
push esi
push 0x4b6f84
push str.System_S_N
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, dword [edi + 0xd0]
push 2
call fcn.00486ba0
test eax, eax
je 0x40bb54
push eax
call fcn.00434150
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
jne 0x40bb1f
mov eax, str.nbsp
push eax
push 0x4b6f84
push str.Mainboard_Vendor
push edi
call fcn.00407ff0
mov eax, dword [esi + 0xc]
add esp, 0x10
cmp byte [eax], 0
jne 0x40bb40
mov eax, str.nbsp
push eax
push 0x4b6f84
push str.Mainboard_Model
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, dword [edi + 0xd0]
push 0
call fcn.00486ba0
test eax, eax
je 0x40bbd3
push eax
call fcn.00434150
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
jne 0x40bb7d
mov eax, str.nbsp
push eax
push 0x4b6f84
push str.BIOS_Vendor
push edi
call fcn.00407ff0
mov eax, dword [esi + 0xc]
add esp, 0x10
cmp byte [eax], 0
jne 0x40bb9e
mov eax, str.nbsp
push eax
push 0x4b6f84
push str.BIOS_Version
push edi
call fcn.00407ff0
mov esi, dword [esi + 0x10]
add esp, 0x10
cmp byte [esi], 0
jne 0x40bbbf
mov esi, str.nbsp
push esi
push 0x4b6f84
push str.BIOS_Date
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, edi
call fcn.00407aa0
cmp dword [edi + 0xcc], 0
je 0x40bc89
push str.nbsp
push str.Memory_SPD
mov ecx, edi
call fcn.00407ac0
mov ecx, edi
call fcn.00407a80
mov eax, dword [edi + 0xcc]
xor ecx, ecx
cmp dword [eax + 4], ecx
jle 0x40bc82
mov dword [esp + 0x18], ecx
mov esi, dword [eax + 8]
add esi, dword [esp + 0x18]
lea ebx, [ecx + 1]
push ebx
push str.Module__d
lea eax, [esp + 0x40]
push 0x80
push eax
call fcn.004374b0
lea eax, [esi + 0x60]
add esp, 0x10
cmp byte [eax], 0
jne 0x40bc43
mov eax, str.unknown_brand
mov ecx, dword [esi + 0x180]
mov edx, dword [esi + 0x1cc]
push eax
push ecx
push edx
lea eax, [esi + 0x38]
push eax
add esi, 0x18
push esi
push str._s___s___d_MHz____d_MBytes___s
lea ecx, [esp + 0x50]
push ecx
push edi
call fcn.00407ff0
mov eax, dword [edi + 0xcc]
add dword [esp + 0x38], 0x224
mov ecx, ebx
add esp, 0x20
cmp ecx, dword [eax + 4]
jl 0x40bc14
mov ecx, edi
call fcn.00407aa0
cmp dword [edi + 0xb4], 0
je 0x40bcf4
push str.nbsp
push str.Software
mov ecx, edi
call fcn.00407ac0
mov ecx, edi
call fcn.00407a80
mov eax, dword [edi + 0xb4]
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
push edx
push eax
push str._s__s
push str.Windows_Version
push edi
call fcn.00407ff0
mov eax, dword [edi + 0xb4]
add eax, 0x40
add esp, 0x14
cmp byte [eax], 0
je 0x40bced
push eax
push 0x4b6f84
push str.DirectX_Version
push edi
call fcn.00407ff0
add esp, 0x10
mov ecx, edi
call fcn.00407aa0
mov ecx, dword [0x4f1a1c]
push str.__font___body___html__n
push ecx
call fcn.00497c06
add esp, 8
call fcn.00438660
mov ecx, eax
call fcn.00437000
mov ecx, dword [esp + 0x2bc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004972eb
mov esp, ebp
pop ebp
ret