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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x2b4
mov eax, dword [0x4e3e9c]
xor eax, esp
mov dword [esp + 0x2b0], eax
push ebx
push esi
push edi
push str.AttachConsole
mov esi, ecx
push 0x4ae9c0
mov dword [esp + 0x2c], esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40ab02
push 0xffffffffffffffff
call eax
test eax, eax
je 0x40ab02
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
test eax, eax
mov dword [0x4e5d88], eax
je 0x40ab02
mov eax, dword [esi + 0xb0]
mov dword [eax + 4], 0x4086b0
call fcn.00437ad0
mov ecx, dword [eax + 4]
push 0x4aea58
call ecx
call fcn.00437ad0
mov edx, dword [eax + 4]
push str.__________________________n
call edx
call fcn.00437ad0
mov edx, dword [eax + 4]
lea ecx, [esi + 0xf4]
push ecx
push str.__CPU_Z_version__s_n
call edx
call fcn.00437ad0
mov eax, dword [eax + 4]
push str.__________________________n_n
call eax
add esp, 0x14
push 0xffffffffffffffff
call fcn.00437ad0
mov ecx, eax
call fcn.004368b0
test eax, eax
je 0x40ab02
push 0x7d0
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esi + 0xb8]
call fcn.00421b80
mov ecx, dword [esi + 0xbc]
push 0
call fcn.0043c070
mov esi, eax
test esi, esi
je 0x40a383
call fcn.00437ad0
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0xbc]
mov edx, dword [ecx + 8]
mov eax, dword [eax + 4]
push edx
push str.Number_of_processors_t_d_n
call eax
add esp, 8
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439990
push eax
mov ecx, esi
call fcn.00438e90
mov ecx, dword [edi]
push eax
push str.Number_of_cores_t_t_d__max__d__per_processor_n
call ecx
add esp, 0xc
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.004399c0
push eax
mov ecx, esi
call fcn.00438ea0
mov edx, dword [edi]
push eax
push str.Number_of_threads_t_d__max__d__per_processor_n
call edx
add esp, 0xc
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439730
push eax
mov eax, dword [edi]
push str.Name_t_t_t_s_n
call eax
add esp, 8
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439770
mov ecx, dword [edi]
push eax
push str.Code_Name_t_t_s_n
call ecx
add esp, 8
mov ecx, esi
call fcn.004397b0
push eax
push 0x4ae020
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.00436a40
add esp, 0x10
cmp byte [esp + 0xb8], 0
jne 0x409554
mov ecx, esi
call fcn.00439c60
push eax
call fcn.00408510
add esp, 4
test eax, eax
mov ecx, esi
je 0x409534
call fcn.00439c60
push eax
mov ecx, esi
call fcn.00439730
push eax
push str._s__dMHz
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00436a40
add esp, 0x14
jmp 0x409554
call fcn.00439730
push eax
push 0x4ae020
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00436a40
add esp, 0x10
mov ecx, esi
call fcn.00439700
test eax, eax
je 0x409579
push str.__Engineering_Sample_
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00436830
add esp, 0xc
call fcn.00437ad0
mov edx, dword [eax + 4]
lea ecx, [esp + 0xb8]
push ecx
push str.Specification_t_t_s_n
call edx
add esp, 8
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439110
push eax
mov eax, dword [edi]
push str.Package_t_t_t_s_n
call eax
add esp, 8
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439900
push eax
mov ecx, esi
call fcn.004398d0
push eax
mov ecx, esi
call fcn.004398a0
mov ecx, dword [edi]
push eax
push str.Family_Model_Stepping_t_X._X._X_n
call ecx
add esp, 0x10
mov ecx, esi
call fcn.00439930
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x409613
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439960
push eax
mov ecx, esi
call fcn.00439930
mov edx, dword [edi]
push eax
push str.Extended_Family_Model_t_X._X_n
call edx
add esp, 0xc
mov ecx, esi
call fcn.00439870
test eax, eax
jle 0x40963a
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439870
push eax
mov eax, dword [edi]
push str.Brand_ID_t_t_t_d_n
call eax
add esp, 8
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.004397f0
mov ecx, dword [edi]
push eax
push str.Core_Stepping_t_t_s_n
call ecx
add esp, 8
mov ecx, esi
call fcn.00439830
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x4096eb
fcom qword [0x4ae2c0]
fnstsw ax
test ah, 5
jp 0x4096af
fmul qword [0x4ae2b8]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.0048f080
push eax
push str._d_nm
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.00436a40
add esp, 0x10
jmp 0x4096cf
sub esp, 8
fstp qword [esp]
push str._1.2f_um
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00436a40
add esp, 0x14
call fcn.00437ad0
mov edx, dword [eax + 4]
lea ecx, [esp + 0xb8]
push ecx
push str.Technology_t_t_s_n
call edx
add esp, 8
jmp 0x4096ed
fstp st(0)
push 0
mov ecx, esi
call fcn.00439b10
fstp dword [esp + 0x20]
mov ecx, esi
call fcn.00438d80
fstp dword [esp + 0x18]
push 0
mov ecx, esi
call fcn.00439b30
fstp dword [esp + 0x14]
fldz
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x409860
call fcn.00437ad0
fld dword [esp + 0x20]
mov eax, dword [eax + 4]
sub esp, 8
fstp qword [esp]
push str.Core_Speed_t_t_.1f_MHz_n
call eax
fld dword [esp + 0x2c]
add esp, 4
fstp qword [esp]
push 0x4ae280
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.00436a40
fldz
fld dword [esp + 0x28]
add esp, 0x14
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x4097f3
fxch st(1)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x4097f5
fmul qword [0x4ae278]
call fcn.0048f080
mov ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*4]
add edx, edx
sub ecx, edx
je 0x4097cd
call fcn.00437ad0
fld dword [esp + 0x18]
mov eax, dword [eax + 4]
sub esp, 0x10
fstp qword [esp + 8]
fld dword [esp + 0x24]
fstp qword [esp]
push str.Multiplier_x_Bus_speed_t_.2f_x__.1f_MHz_n
call eax
add esp, 0x14
jmp 0x4097f7
call fcn.00437ad0
fld dword [esp + 0x18]
mov ecx, dword [eax + 4]
sub esp, 0x10
fstp qword [esp + 8]
fld dword [esp + 0x24]
fstp qword [esp]
push str.Multiplier_x_Bus_speed_t_.1f_x__.1f_MHz_n
call ecx
add esp, 0x14
jmp 0x4097f7
fstp st(1)
fstp st(0)
mov ecx, esi
call fcn.00439bf0
fstp dword [esp + 0x18]
fldz
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x409860
mov ecx, esi
call fcn.004396d0
and eax, 0xffffff00
cmp eax, 0x2002000
je 0x409844
cmp eax, 0x2004000
je 0x409844
call fcn.00437ad0
fld dword [esp + 0x18]
mov edx, dword [eax + 4]
sub esp, 8
fstp qword [esp]
push str.Rated_Bus_speed_t_t_.1f_MHz_n
call edx
jmp 0x40985d
call fcn.00437ad0
fld dword [esp + 0x18]
mov eax, dword [eax + 4]
sub esp, 8
fstp qword [esp]
push str.HT_Link_speed_t_t_.1f_MHz_n
call eax
add esp, 0xc
mov ecx, esi
call fcn.00439c60
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x409890
call fcn.00437ad0
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439c60
mov ecx, dword [edi]
push eax
push str.Stock_frequency_t_t_d_MHz_n
call ecx
add esp, 8
push 1
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, 0x4ae338
jne 0x4098a7
mov eax, 0x4ae335
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00436a40
add esp, 0xc
push 2
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, 0x4ae330
jne 0x4098d4
mov eax, 0x4ae335
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00436830
add esp, 0xc
push 3
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, str.__3DNow_
jne 0x409901
mov eax, 0x4ae335
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00436830
add esp, 0xc
push 4
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, 0x4ae330
jne 0x40992e
mov eax, 0x4ae335
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00436830
add esp, 0xc
push 5
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, str.__SSE
jne 0x40995b
mov eax, 0x4ae335
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00436830
add esp, 0xc
push 6
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, str.__SSE2
jne 0x409988
mov eax, 0x4ae335
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00436830
add esp, 0xc
push 7
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, str.__SSE3
jne 0x4099b5
mov eax, 0x4ae335
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00436830
add esp, 0xc
push 8
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, str.__SSSE3
jne 0x4099e2
mov eax, 0x4ae335
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00436830
add esp, 0xc
push 9
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, str.__SSE4.1
jne 0x409a0f
mov eax, 0x4ae335
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00436830
add esp, 0xc
push 0xc
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, str.__SSE4.2
jne 0x409a3c
mov eax, 0x4ae335
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00436830
add esp, 0xc
push 0xd
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, str.__SSE4A
jne 0x409a69
mov eax, 0x4ae335
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00436830
add esp, 0xc
push 0xe
mov ecx, esi
call fcn.004399f0
test eax, eax
mov eax, str.__SSE5
jne 0x409a96
mov eax, 0x4ae335
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00436830
add esp, 0xc
mov ecx, esi
call fcn.004396d0
test eax, 0x1000000
push 0x10
mov ecx, esi
je 0x409ae1
call fcn.004399f0
test eax, eax
mov eax, str.__EM64T
jne 0x409ad1
mov eax, 0x4ae335
push eax
push 0x200
lea edx, [esp + 0xc0]
push edx
jmp 0x409b02
call fcn.004399f0
test eax, eax
mov eax, 0x4ae2c8
jne 0x409af4
mov eax, 0x4ae335
push eax
push 0x200
lea eax, [esp + 0xc0]
push eax
call fcn.00436830
add esp, 0xc
call fcn.00437ad0
mov edx, dword [eax + 4]
lea ecx, [esp + 0xb8]
push ecx
push str.Instruction_sets_t_s_n
call edx
add esp, 8
push 1
push 1
mov ecx, esi
call fcn.00439090
push 2
push 1
mov ecx, esi
mov edi, eax
call fcn.00439090
push 4
mov ebx, eax
push 1
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.00439090
push 1
push 2
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.00439090
push 2
push 2
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.00439090
push 3
push 2
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.00439090
push 3
push 3
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.00439090
test edi, edi
mov dword [esp + 0x2c], eax
jle 0x409caa
push 1
push 1
mov ecx, esi
call fcn.00439040
mov ebx, eax
test ebx, ebx
je 0x409ca6
mov eax, dword [ebx + 0xc]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x409ca6
cmp edi, 1
mov eax, dword [ebx + 0xc]
push eax
jle 0x409be4
push edi
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00436a40
add esp, 0x14
jmp 0x409bfe
push str._d_KBytes
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00436a40
add esp, 0x10
mov eax, dword [ebx + 0x18]
cmp eax, 0xffffffff
je 0x409c5a
cmp eax, 1
je 0x409c45
cmp eax, 0xff
je 0x409c30
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.00436a40
add esp, 0x14
jmp 0x409c75
mov ecx, dword [ebx + 0x14]
push ecx
push str.__Fully_associative___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x409c6d
mov eax, dword [ebx + 0x14]
push eax
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409c6d
mov edx, dword [ebx + 0x14]
push edx
push str.___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
call fcn.00436a40
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00436830
call fcn.00437ad0
mov edx, dword [eax + 4]
lea ecx, [esp + 0xc4]
push ecx
push str.L1_Data_cache_t_t_s_n
call edx
add esp, 0x14
mov ebx, dword [esp + 0x18]
test ebx, ebx
jle 0x409dc8
push 2
push 1
mov ecx, esi
call fcn.00439040
mov edi, eax
test edi, edi
je 0x409e86
mov eax, dword [edi + 0xc]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x409e86
cmp ebx, 1
mov eax, dword [edi + 0xc]
push eax
jle 0x409d01
push ebx
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00436a40
add esp, 0x14
jmp 0x409d1b
push str._d_KBytes
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00436a40
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x409d77
cmp eax, 1
je 0x409d62
cmp eax, 0xff
je 0x409d4d
mov edx, dword [edi + 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.00436a40
add esp, 0x14
jmp 0x409d92
mov ecx, dword [edi + 0x14]
push ecx
push str.__Fully_associative___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x409d8a
mov eax, dword [edi + 0x14]
push eax
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409d8a
mov edx, dword [edi + 0x14]
push edx
push str.___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
call fcn.00436a40
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00436830
call fcn.00437ad0
mov edx, dword [eax + 4]
lea ecx, [esp + 0xc4]
push ecx
push str.L1_Instruction_cache_t_s_n
call edx
add esp, 0x14
jmp 0x409e86
cmp dword [esp + 0x28], 0
jle 0x409e86
push 4
push 1
mov ecx, esi
call fcn.00439040
mov edi, eax
test edi, edi
je 0x409e86
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00408510
add esp, 4
test eax, eax
je 0x409e86
mov eax, dword [esp + 0x28]
cmp eax, 1
push ebx
jle 0x409e23
push eax
push str._d_x__d_Kuops
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00436a40
add esp, 0x14
jmp 0x409e3d
push str._d_Kuops
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00436a40
add esp, 0x10
mov edx, dword [edi + 0x18]
push edx
push str.___d_way_set_associative
lea eax, [esp + 0x40]
push 0x80
push eax
call fcn.00436a40
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0xcc]
push 0x200
push edx
call fcn.00436830
call fcn.00437ad0
mov edx, dword [eax + 4]
lea ecx, [esp + 0xd4]
push ecx
push str.Trace_cache_t_t_s_n
call edx
add esp, 0x24
cmp dword [esp + 0x1c], 0
jle 0x409fa3
push 2
push 2
mov ecx, esi
call fcn.00439040
mov edi, eax
test edi, edi
je 0x409fa3
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00408510
add esp, 4
test eax, eax
je 0x409fa3
mov eax, dword [esp + 0x1c]
cmp eax, 1
push ebx
jle 0x409ee1
push eax
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00436a40
add esp, 0x14
jmp 0x409efb
push str._d_KBytes
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00436a40
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x409f57
cmp eax, 1
je 0x409f42
cmp eax, 0xff
je 0x409f2d
mov edx, dword [edi + 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.00436a40
add esp, 0x14
jmp 0x409f72
mov ecx, dword [edi + 0x14]
push ecx
push str.__Fully_associative___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x409f6a
mov eax, dword [edi + 0x14]
push eax
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409f6a
mov edx, dword [edi + 0x14]
push edx
push str.___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
call fcn.00436a40
add esp, 0x10
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.00436830
call fcn.00437ad0
mov edx, dword [eax + 4]
lea ecx, [esp + 0xc4]
push ecx
push str.L2_Instruction_cache_t_s_n
call edx
add esp, 0x14
cmp dword [esp + 0x14], 0
jle 0x40a0c2
push 1
push 2
mov ecx, esi
call fcn.00439040
mov edi, eax
test edi, edi
je 0x40a0c2
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a0c2
cmp dword [esp + 0x14], 1
push ebx
jle 0x40a000
mov eax, dword [esp + 0x18]
push eax
push str._d_x__d_KBytes
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.00436a40
add esp, 0x14
jmp 0x40a01a
push str._d_KBytes
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.00436a40
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x40a076
cmp eax, 1
je 0x40a061
cmp eax, 0xff
je 0x40a04c
mov ecx, dword [edi + 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.00436a40
add esp, 0x14
jmp 0x40a091
mov eax, dword [edi + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40a089
mov edx, dword [edi + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x40a089
mov ecx, dword [edi + 0x14]
push ecx
push str.___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.00436a40
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00436830
call fcn.00437ad0
mov eax, dword [eax + 4]
lea edx, [esp + 0xc4]
push edx
push str.L2_Data_cache_t_t_s_n
call eax
add esp, 0x14
cmp dword [esp + 0x20], 0
jle 0x40a1e1
push 3
push 2
mov ecx, esi
call fcn.00439040
mov edi, eax
test edi, edi
je 0x40a1e1
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a1e1
cmp dword [esp + 0x20], 1
push ebx
jle 0x40a11f
mov ecx, dword [esp + 0x24]
push ecx
push str._d_x__d_KBytes
lea edx, [esp + 0xc4]
push 0x200
push edx
call fcn.00436a40
add esp, 0x14
jmp 0x40a139
push str._d_KBytes
lea eax, [esp + 0xc0]
push 0x200
push eax
call fcn.00436a40
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x40a195
cmp eax, 1
je 0x40a180
cmp eax, 0xff
je 0x40a16b
mov ecx, dword [edi + 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.00436a40
add esp, 0x14
jmp 0x40a1b0
mov eax, dword [edi + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40a1a8
mov edx, dword [edi + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x40a1a8
mov ecx, dword [edi + 0x14]
push ecx
push str.___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.00436a40
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00436830
call fcn.00437ad0
mov eax, dword [eax + 4]
lea edx, [esp + 0xc4]
push edx
push str.L2_cache_t_t_s_n
call eax
add esp, 0x14
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jle 0x40a383
push 3
push 3
mov ecx, esi
call fcn.00439040
mov edi, eax
test edi, edi
je 0x40a383
mov esi, dword [edi + 0xc]
push esi
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a383
cmp ebx, 1
jle 0x40a281
cmp esi, 0x400
jl 0x40a263
mov ecx, esi
and ecx, 0x800003ff
jns 0x40a235
dec ecx
or ecx, 0xfffffc00
inc ecx
jne 0x40a263
mov eax, esi
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
push eax
push ebx
push str._d_x__d_MBytes
lea edx, [esp + 0xc4]
push 0x200
push edx
call fcn.00436a40
add esp, 0x14
jmp 0x40a2db
push esi
push ebx
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.00436a40
add esp, 0x14
jmp 0x40a2db
cmp esi, 0x400
jl 0x40a2c0
mov ecx, esi
and ecx, 0x800003ff
jns 0x40a29b
dec ecx
or ecx, 0xfffffc00
inc ecx
jne 0x40a2c0
mov eax, esi
cdq
and edx, 0x3ff
add eax, edx
sar eax, 0xa
push eax
push str._d_MBytes
push 0x200
lea edx, [esp + 0xc4]
push edx
jmp 0x40a2d3
push esi
push str._d_KBytes
push 0x200
lea eax, [esp + 0xc4]
push eax
call fcn.00436a40
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x40a337
cmp eax, 1
je 0x40a322
cmp eax, 0xff
je 0x40a30d
mov ecx, dword [edi + 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.00436a40
add esp, 0x14
jmp 0x40a352
mov eax, dword [edi + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x40a34a
mov edx, dword [edi + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x40a34a
mov ecx, dword [edi + 0x14]
push ecx
push str.___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
call fcn.00436a40
add esp, 0x10
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.00436830
call fcn.00437ad0
mov eax, dword [eax + 4]
lea edx, [esp + 0xc4]
push edx
push str.L3_cache_t_t_s_n
call eax
add esp, 0x14
mov eax, dword [esp + 0x24]
cmp dword [eax + 0xc4], 0
je 0x40a8d7
mov eax, dword [eax + 0xc4]
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov edi, dword [eax + 0x14]
mov ebx, dword [eax + 0x18]
mov esi, dword [eax + 0x10]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
je 0x40a3db
call fcn.00437ad0
mov ecx, dword [esp + 0x14]
mov eax, dword [eax + 4]
lea edx, [ecx + 0x88]
push edx
lea edx, [ecx + 0x48]
push edx
add ecx, 8
push ecx
push str.Northbridge_t_t_s__s_rev.__s_n
call eax
add esp, 0x10
test esi, esi
je 0x40a400
call fcn.00437ad0
mov eax, dword [eax + 4]
lea ecx, [esi + 0x88]
push ecx
lea edx, [esi + 0x48]
push edx
add esi, 8
push esi
push str.Southbridge_t_t_s__s_rev.__s_n
call eax
add esp, 0x10
call fcn.00437ad0
cmp dword [eax + 0x34], 0
je 0x40a5a8
push 0xc
call fcn.0047fb47
add esp, 4
test eax, eax
je 0x40a428
mov ecx, eax
call fcn.00403e30
mov ebx, eax
jmp 0x40a42a
xor ebx, ebx
call fcn.00437ad0
mov eax, dword [eax + 0x34]
push ebx
push 0
push 3
mov ecx, eax
call fcn.0043ea60
test eax, eax
je 0x40a596
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0
call fcn.00404250
test eax, eax
je 0x40a596
push eax
call fcn.00403e50
mov eax, dword [eax + 0x18]
add esp, 4
test eax, eax
je 0x40a4b3
mov edi, dword [eax + 4]
test edi, edi
je 0x40a4b3
mov esi, dword [edi + 4]
test esi, esi
je 0x40a4b3
push 2
mov ecx, esi
call fcn.0043cd80
test eax, eax
jne 0x40a4c5
push 0x10
mov ecx, esi
call fcn.0043cd80
test eax, eax
jne 0x40a552
test edi, edi
je 0x40a4b3
mov eax, dword [edi + 8]
test eax, eax
je 0x40a4b3
mov esi, dword [eax + 4]
test esi, esi
mov edi, eax
jne 0x40a481
lea ecx, [esp + 0x2c]
call fcn.00404270
test eax, eax
jne 0x40a463
jmp 0x40a592
push esi
call fcn.00403e50
mov esi, eax
add esp, 4
cmp dword [esi + 0x54], 0
je 0x40a592
call fcn.00437ad0
mov ecx, dword [eax + 4]
push str.Graphic_Interface_tAGP_n
call ecx
movzx edi, byte [esi + 0x58]
call fcn.00437ad0
mov eax, dword [eax + 4]
mov edx, edi
and edx, 0xf
push edx
shr edi, 4
push edi
push str.AGP_Revision_t_t_d._d_n
call eax
call fcn.00437ad0
mov ecx, dword [esi + 0x48]
mov edx, dword [eax + 4]
push ecx
push str.AGP_Transfer_Rate_t_dx_n
call edx
add esp, 0x18
cmp dword [esi + 0x34], 0
mov edi, str.enabled
jne 0x40a52c
mov edi, str.not_enabled
cmp dword [esi + 0x30], 0
mov esi, str.supported
jne 0x40a53c
mov esi, str.not_supported
call fcn.00437ad0
mov eax, dword [eax + 4]
push edi
push esi
push str.AGP_Side_Band_Addressing_t_s___s_n
call eax
add esp, 0xc
jmp 0x40a592
push esi
call fcn.00403e50
mov esi, eax
call fcn.00437ad0
mov ecx, dword [eax + 4]
push str.Graphic_Interface_tPCI_Express_n
call ecx
call fcn.00437ad0
mov edx, dword [esi + 0x1c]
mov eax, dword [eax + 4]
push edx
push str.PCI_E_Link_Width_tx_d_n
call eax
call fcn.00437ad0
mov ecx, dword [esi + 0x18]
mov edx, dword [eax + 4]
push ecx
push str.PCI_E_Max_Link_Width_tx_d_n
call edx
add esp, 0x18
mov edi, dword [esp + 0x18]
test ebx, ebx
je 0x40a5a4
mov eax, dword [ebx]
mov edx, dword [eax]
push 1
mov ecx, ebx
call edx
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x40a5d2
mov eax, dword [ebx + 0xc]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a5d2
call fcn.00437ad0
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax + 4]
push ecx
push str.On_Board_Cache_t_t_d_KBytes_n
call edx
add esp, 8
test edi, edi
je 0x40a8d7
mov byte [esp + 0xb8], 0
mov eax, dword [edi + 4]
add eax, 0xfffffffe
cmp eax, 7
ja case.default.0x40a5f1
jmp dword [eax*4 + 0x40ab18]
push 0x4aeed0
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x40a67c
push 0x4aeecc
jmp 0x40a66f
push str.SDRAM
push 0x200
lea edx, [esp + 0xc0]
push edx
jmp 0x40a67c
push str.RDRAM
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x40a67c
push 0x4aeeb8
jmp 0x40a66f
push str.DDR2
push 0x200
lea edx, [esp + 0xc0]
push edx
jmp 0x40a67c
push str.DDR3
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x40a67c
push str.FB_DDR2
push 0x200
lea ecx, [esp + 0xc0]
push ecx
call fcn.00436a40
add esp, 0xc
call fcn.00437ad0
mov eax, dword [eax + 4]
lea edx, [esp + 0xb8]
push edx
push str.Memory_Type_t_t_s_n
call eax
call fcn.00437ad0
mov ecx, dword [edi + 8]
mov edx, dword [eax + 4]
push ecx
push str.Memory_Size_t_t_d_MBytes_n
call edx
fldz
fcomp dword [edi + 0x40]
add esp, 0x10
fnstsw ax
test ah, 5
jp 0x40a6dc
call fcn.00437ad0
fld dword [edi + 0x40]
mov edx, dword [eax + 4]
lea ecx, [edi + 0x78]
push ecx
sub esp, 8
fstp qword [esp]
push str.Memory_Frequency_t_.1f_MHz___s__n
call edx
add esp, 0x10
mov esi, dword [edi + 0x4c]
push esi
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a741
test esi, esi
jne 0x40a70c
push str.none
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.00436a40
add esp, 0xc
jmp 0x40a727
push esi
push str._d_way
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.00436a40
add esp, 0x10
call fcn.00437ad0
mov eax, dword [eax + 4]
lea edx, [esp + 0xb8]
push edx
push str.DRAM_Interleave_t_s_n
call eax
add esp, 8
fldz
fcomp dword [edi + 0x18]
fnstsw ax
test ah, 5
jp 0x40a768
call fcn.00437ad0
fld dword [edi + 0x18]
mov ecx, dword [eax + 4]
sub esp, 8
fstp qword [esp]
push str.CAS_Latency__tCL__t_.1f_clocks_n
call ecx
add esp, 0xc
mov edx, dword [edi + 0x1c]
push edx
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a78e
call fcn.00437ad0
mov ecx, dword [edi + 0x1c]
mov edx, dword [eax + 4]
push ecx
push str.RAS_to_CAS__tRCD__t_d_clocks_n
call edx
add esp, 8
mov eax, dword [edi + 0x20]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a7b4
call fcn.00437ad0
mov ecx, dword [edi + 0x20]
mov edx, dword [eax + 4]
push ecx
push str.RAS_Precharge__tRP__t_d_clocks_n
call edx
add esp, 8
mov eax, dword [edi + 0x24]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a7da
call fcn.00437ad0
mov ecx, dword [edi + 0x24]
mov edx, dword [eax + 4]
push ecx
push str.Cycle_Time__tRAS__t_d_clocks_n
call edx
add esp, 8
mov eax, dword [edi + 0x28]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a800
call fcn.00437ad0
mov ecx, dword [edi + 0x28]
mov edx, dword [eax + 4]
push ecx
push str.Bank_Cycle_Time__tRC__t_d_clocks_n
call edx
add esp, 8
mov eax, dword [edi + 0x38]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a826
call fcn.00437ad0
mov ecx, dword [edi + 0x38]
mov edx, dword [eax + 4]
push ecx
push str.DRAM_Idle_Timer_t_d_clocks_n
call edx
add esp, 8
mov eax, dword [edi + 0x3c]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a84c
call fcn.00437ad0
mov ecx, dword [edi + 0x3c]
mov edx, dword [eax + 4]
push ecx
push str.Command_Rate__CR__t_t_dT_n
call edx
add esp, 8
mov eax, dword [edi + 0x34]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a872
call fcn.00437ad0
mov ecx, dword [edi + 0x34]
mov edx, dword [eax + 4]
push ecx
push str.Total_CAS__tRDRAM__t_d_n
call edx
add esp, 8
mov eax, dword [edi + 0x30]
push eax
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a898
call fcn.00437ad0
mov ecx, dword [edi + 0x30]
mov edx, dword [eax + 4]
push ecx
push str.Row_To_Column__tRCD__t_d_n
call edx
add esp, 8
cmp dword [esp + 0x14], 0
je 0x40a8d7
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0xa4]
push esi
call fcn.00408510
add esp, 4
test eax, eax
je 0x40a8d7
test esi, esi
mov esi, str.enabled
jne 0x40a8c4
mov esi, str.disabled
call fcn.00437ad0
mov ecx, dword [eax + 4]
push esi
push str.Performance_Mode_t_s_n
call ecx
add esp, 8
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0xd0]
test ecx, ecx
je 0x40aa2d
push 1
call fcn.0047d820
test eax, eax
je 0x40a959
push eax
call fcn.00403e50
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
je 0x40a91d
call fcn.00437ad0
mov ecx, dword [esi + 8]
mov edx, dword [eax + 4]
push ecx
push str.System_Manufacturer_t_s_n
call edx
add esp, 8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0
je 0x40a93b
call fcn.00437ad0
mov ecx, dword [esi + 0xc]
mov edx, dword [eax + 4]
push ecx
push str.System_Name_t_t_s_n
call edx
add esp, 8
mov eax, dword [esi + 0x14]
cmp byte [eax], 0
je 0x40a959
call fcn.00437ad0
mov ecx, dword [esi + 0x14]
mov edx, dword [eax + 4]
push ecx
push str.System_S_N_t_t_s_n
call edx
add esp, 8
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + 0xd0]
push 2
call fcn.0047d820
test eax, eax
je 0x40a9b5
push eax
call fcn.00403e50
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
je 0x40a997
call fcn.00437ad0
mov ecx, dword [esi + 8]
mov edx, dword [eax + 4]
push ecx
push str.Mainboard_Vendor_t_s_n
call edx
add esp, 8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0
je 0x40a9b5
call fcn.00437ad0
mov ecx, dword [esi + 0xc]
mov edx, dword [eax + 4]
push ecx
push str.Mainboard_Model_t_t_s_n
call edx
add esp, 8
mov ecx, dword [edi + 0xd0]
push 0
call fcn.0047d820
test eax, eax
je 0x40aa2f
push eax
call fcn.00403e50
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
je 0x40a9ef
call fcn.00437ad0
mov ecx, dword [esi + 8]
mov edx, dword [eax + 4]
push ecx
push str.BIOS_Vendor_t_t_s_n
call edx
add esp, 8
mov eax, dword [esi + 0xc]
cmp byte [eax], 0
je 0x40aa0d
call fcn.00437ad0
mov ecx, dword [esi + 0xc]
mov edx, dword [eax + 4]
push ecx
push str.BIOS_Version_t_t_s_n
call edx
add esp, 8
mov eax, dword [esi + 0x10]
cmp byte [eax], 0
je 0x40aa2f
call fcn.00437ad0
mov ecx, dword [esi + 0x10]
mov edx, dword [eax + 4]
push ecx
push str.BIOS_Date_t_t_s_n
call edx
add esp, 8
jmp 0x40aa2f
mov edi, edx
mov eax, dword [edi + 0xcc]
test eax, eax
je 0x40aa9d
xor edi, edi
cmp dword [eax + 4], edi
jle 0x40aa9d
mov dword [esp + 0x14], edi
mov esi, dword [eax + 8]
add esi, dword [esp + 0x14]
cmp byte [esi + 0x60], 0
lea ebx, [esi + 0x60]
jne 0x40aa59
mov ebx, str.unknown_brand
add edi, 1
call fcn.00437ad0
mov ecx, dword [esi + 0x180]
mov edx, dword [esi + 0x1cc]
push ebx
push ecx
push edx
mov edx, dword [eax + 4]
lea ecx, [esi + 0x38]
push ecx
add esi, 0x18
push esi
push edi
push str.Module__d_t_t_s___s___d_MHz____d_MBytes___s_n
call edx
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0xcc]
add dword [esp + 0x30], 0x224
add esp, 0x1c
cmp edi, dword [eax + 4]
jl 0x40aa44
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0xb4], 0
je 0x40aaeb
mov eax, dword [ebx + 0xb4]
mov esi, dword [eax + 0x20]
mov edi, dword [eax + 0x1c]
call fcn.00437ad0
mov ecx, dword [eax + 4]
push esi
push edi
push str.Windows_Version_t_t_s__s_n
call ecx
mov eax, dword [ebx + 0xb4]
lea esi, [eax + 0x40]
add esp, 0xc
cmp byte [esi], 0
je 0x40aaeb
call fcn.00437ad0
mov edx, dword [eax + 4]
push esi
push str.DirectX_Version_t_t_s_n
call edx
add esp, 8
mov ecx, dword [ebx + 0xb8]
call fcn.00421c10
call fcn.00437ad0
mov ecx, eax
call fcn.00436440
mov ecx, dword [esp + 0x2bc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0048e5ae
mov esp, ebp
pop ebp
ret