Function at 0x408c50
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 str.AttachConsole
mov esi, ecx
push 0x4b7870
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 0x40a431
push 0xffffffffffffffff
call eax
test eax, eax
je 0x40a431
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
test eax, eax
mov dword [0x4f1a20], eax
je 0x40a431
mov eax, dword [esi + 0xb0]
mov dword [eax + 4], 0x407f70
call fcn.00438660
mov ecx, dword [eax + 4]
push 0x4b7908
call ecx
call fcn.00438660
mov edx, dword [eax + 4]
push str.__________________________n
call edx
call fcn.00438660
mov edx, dword [eax + 4]
lea ecx, [esi + 0xf8]
push ecx
push str.__CPU_Z_version__s_n
call edx
call fcn.00438660
mov eax, dword [eax + 4]
push str.__________________________n_n
call eax
add esp, 0x14
push 0xffffffffffffffff
call fcn.00438660
mov ecx, eax
call fcn.00437470
test eax, eax
je 0x40a431
push 0x7d0
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esi + 0xb8]
call fcn.00421e90
mov ecx, dword [esi + 0xbc]
push 0
call fcn.0043cc90
mov esi, eax
test esi, esi
je 0x409ca9
call fcn.00438660
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.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a590
push eax
mov ecx, esi
call fcn.00439a10
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.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a5c0
push eax
mov ecx, esi
call fcn.00439a20
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.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a2b0
push eax
mov eax, dword [edi]
push str.Name_t_t_t_s_n
call eax
add esp, 8
call fcn.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a2f0
mov ecx, dword [edi]
push eax
push str.Code_Name_t_t_s_n
call ecx
add esp, 8
mov ecx, esi
call fcn.0043a330
push eax
push 0x4b6f84
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.004374b0
add esp, 0x10
cmp byte [esp + 0xb8], 0
jne 0x408e74
mov ecx, esi
call fcn.0043a860
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
mov ecx, esi
je 0x408e54
call fcn.0043a860
push eax
mov ecx, esi
call fcn.0043a2b0
push eax
push str._s__dMHz
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.004374b0
add esp, 0x14
jmp 0x408e74
call fcn.0043a2b0
push eax
push 0x4b6f84
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x10
mov ecx, esi
call fcn.0043a280
test eax, eax
je 0x408e99
push str.__Engineering_Sample_
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
add esp, 0xc
call fcn.00438660
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.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.00439c90
push eax
mov eax, dword [edi]
push str.Package_t_t_t_s_n
call eax
add esp, 8
call fcn.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a500
push eax
mov ecx, esi
call fcn.0043a4d0
push eax
mov ecx, esi
call fcn.0043a4a0
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.0043a530
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x408f33
call fcn.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a560
push eax
mov ecx, esi
call fcn.0043a530
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.0043a470
test eax, eax
jle 0x408f5a
call fcn.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a470
push eax
mov eax, dword [edi]
push str.Brand_ID_t_t_t_d_n
call eax
add esp, 8
call fcn.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a3f0
mov ecx, dword [edi]
push eax
push str.Core_Stepping_t_t_s_n
call ecx
add esp, 8
mov ecx, esi
call fcn.0043a430
fstp dword [esp + 0x1c]
fldz
fld dword [esp + 0x1c]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x40900b
fcom qword [0x4b73b8]
fnstsw ax
test ah, 5
jp 0x408fcf
fmul qword [0x4b73b0]
fstp dword [esp + 0x1c]
fld dword [esp + 0x1c]
call fcn.00497ad0
push eax
push str._d_nm
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.004374b0
add esp, 0x10
jmp 0x408fef
sub esp, 8
fstp qword [esp]
push str._1.2f_um
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.004374b0
add esp, 0x14
call fcn.00438660
mov edx, dword [eax + 4]
lea ecx, [esp + 0xb8]
push ecx
push 0x4b80c8
call edx
add esp, 8
jmp 0x40900d
fstp st(0)
push 0
mov ecx, esi
call fcn.0043a710
fmul qword [0x4b80c0]
mov ecx, esi
fstp dword [esp + 0x20]
call fcn.00439900
push 0
fstp dword [esp + 0x1c]
mov ecx, esi
call fcn.0043a730
fstp dword [esp + 0x14]
fldz
fcomp dword [esp + 0x20]
fnstsw ax
test ah, 5
jp 0x409186
call fcn.00438660
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 0x4b7370
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.004374b0
fldz
fld dword [esp + 0x28]
add esp, 0x14
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x409119
fxch st(1)
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x40911b
fmul qword [0x4b7368]
call fcn.00497ad0
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 0x4090f3
call fcn.00438660
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 0x40911d
call fcn.00438660
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 0x40911d
fstp st(1)
fstp st(0)
mov ecx, esi
call fcn.0043a7f0
fstp dword [esp + 0x18]
fldz
fcomp dword [esp + 0x18]
fnstsw ax
test ah, 5
jp 0x409186
mov ecx, esi
call fcn.0043a250
and eax, 0xffffff00
cmp eax, 0x2002000
je 0x40916a
cmp eax, 0x2004000
je 0x40916a
call fcn.00438660
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 0x409183
call fcn.00438660
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.0043a860
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x4091b6
call fcn.00438660
mov ecx, esi
lea edi, [eax + 4]
call fcn.0043a860
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.0043a5f0
test eax, eax
mov eax, 0x4b7430
jne 0x4091cd
mov eax, 0x4b742d
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004374b0
add esp, 0xc
push 2
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, 0x4b7428
jne 0x4091fa
mov eax, 0x4b742d
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004373f0
add esp, 0xc
push 3
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__3DNow_
jne 0x409227
mov eax, 0x4b742d
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
add esp, 0xc
push 4
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, 0x4b7428
jne 0x409254
mov eax, 0x4b742d
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
add esp, 0xc
push 5
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE
jne 0x409281
mov eax, 0x4b742d
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004373f0
add esp, 0xc
push 6
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE2
jne 0x4092ae
mov eax, 0x4b742d
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
add esp, 0xc
push 7
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE3
jne 0x4092db
mov eax, 0x4b742d
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
add esp, 0xc
push 8
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSSE3
jne 0x409308
mov eax, 0x4b742d
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004373f0
add esp, 0xc
push 9
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE4.1
jne 0x409335
mov eax, 0x4b742d
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
add esp, 0xc
push 0xc
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE4.2
jne 0x409362
mov eax, 0x4b742d
push eax
lea edx, [esp + 0xbc]
push 0x200
push edx
call fcn.004373f0
add esp, 0xc
push 0xd
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE4A
jne 0x40938f
mov eax, 0x4b742d
push eax
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004373f0
add esp, 0xc
push 0xe
mov ecx, esi
call fcn.0043a5f0
test eax, eax
mov eax, str.__SSE5
jne 0x4093bc
mov eax, 0x4b742d
push eax
lea ecx, [esp + 0xbc]
push 0x200
push ecx
call fcn.004373f0
add esp, 0xc
mov ecx, esi
call fcn.0043a250
test eax, 0x1000000
push 0x10
mov ecx, esi
je 0x409407
call fcn.0043a5f0
test eax, eax
mov eax, str.__EM64T
jne 0x4093f7
mov eax, 0x4b742d
push eax
push 0x200
lea edx, [esp + 0xc0]
push edx
jmp 0x409428
call fcn.0043a5f0
test eax, eax
mov eax, 0x4b73c0
jne 0x40941a
mov eax, 0x4b742d
push eax
push 0x200
lea eax, [esp + 0xc0]
push eax
call fcn.004373f0
add esp, 0xc
call fcn.00438660
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.00439c10
push 2
push 1
mov ecx, esi
mov edi, eax
call fcn.00439c10
push 4
mov ebx, eax
push 1
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.00439c10
push 1
push 2
mov ecx, esi
mov dword [esp + 0x30], eax
call fcn.00439c10
push 2
push 2
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.00439c10
push 3
push 2
mov ecx, esi
mov dword [esp + 0x24], eax
call fcn.00439c10
push 3
push 3
mov ecx, esi
mov dword [esp + 0x28], eax
call fcn.00439c10
test edi, edi
mov dword [esp + 0x2c], eax
jle 0x4095d0
push 1
push 1
mov ecx, esi
call fcn.00439bc0
mov ebx, eax
test ebx, ebx
je 0x4095cc
mov eax, dword [ebx + 0xc]
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x4095cc
cmp edi, 1
mov eax, dword [ebx + 0xc]
push eax
jle 0x40950a
push edi
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.004374b0
add esp, 0x14
jmp 0x409524
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 0x409580
cmp eax, 1
je 0x40956b
cmp eax, 0xff
je 0x409556
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 0x40959b
mov ecx, dword [ebx + 0x14]
push ecx
push str.__Fully_associative___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x409593
mov eax, dword [ebx + 0x14]
push eax
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409593
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
call fcn.00438660
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 0x4096ee
push 2
push 1
mov ecx, esi
call fcn.00439bc0
mov edi, eax
test edi, edi
je 0x4097ac
mov eax, dword [edi + 0xc]
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x4097ac
cmp ebx, 1
mov eax, dword [edi + 0xc]
push eax
jle 0x409627
push ebx
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.004374b0
add esp, 0x14
jmp 0x409641
push str._d_KBytes
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x40969d
cmp eax, 1
je 0x409688
cmp eax, 0xff
je 0x409673
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.004374b0
add esp, 0x14
jmp 0x4096b8
mov ecx, dword [edi + 0x14]
push ecx
push str.__Fully_associative___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x4096b0
mov eax, dword [edi + 0x14]
push eax
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x4096b0
mov edx, dword [edi + 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
call fcn.00438660
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 0x4097ac
cmp dword [esp + 0x28], 0
jle 0x4097ac
push 4
push 1
mov ecx, esi
call fcn.00439bc0
mov edi, eax
test edi, edi
je 0x4097ac
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x4097ac
mov eax, dword [esp + 0x28]
cmp eax, 1
push ebx
jle 0x409749
push eax
push str._d_x__d_Kuops
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.004374b0
add esp, 0x14
jmp 0x409763
push str._d_Kuops
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.004374b0
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.004374b0
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0xcc]
push 0x200
push edx
call fcn.004373f0
call fcn.00438660
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 0x4098c9
push 2
push 2
mov ecx, esi
call fcn.00439bc0
mov edi, eax
test edi, edi
je 0x4098c9
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x4098c9
mov eax, dword [esp + 0x1c]
cmp eax, 1
push ebx
jle 0x409807
push eax
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.004374b0
add esp, 0x14
jmp 0x409821
push str._d_KBytes
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x40987d
cmp eax, 1
je 0x409868
cmp eax, 0xff
je 0x409853
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.004374b0
add esp, 0x14
jmp 0x409898
mov ecx, dword [edi + 0x14]
push ecx
push str.__Fully_associative___d_byte_line_size
push 0x80
lea edx, [esp + 0x44]
push edx
jmp 0x409890
mov eax, dword [edi + 0x14]
push eax
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409890
mov edx, dword [edi + 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
call fcn.00438660
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 0x4099e8
push 1
push 2
mov ecx, esi
call fcn.00439bc0
mov edi, eax
test edi, edi
je 0x4099e8
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x4099e8
cmp dword [esp + 0x14], 1
push ebx
jle 0x409926
mov eax, dword [esp + 0x18]
push eax
push str._d_x__d_KBytes
lea ecx, [esp + 0xc4]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x14
jmp 0x409940
push str._d_KBytes
lea edx, [esp + 0xc0]
push 0x200
push edx
call fcn.004374b0
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x40999c
cmp eax, 1
je 0x409987
cmp eax, 0xff
je 0x409972
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.004374b0
add esp, 0x14
jmp 0x4099b7
mov eax, dword [edi + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x4099af
mov edx, dword [edi + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x4099af
mov ecx, dword [edi + 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
call fcn.00438660
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 0x409b07
push 3
push 2
mov ecx, esi
call fcn.00439bc0
mov edi, eax
test edi, edi
je 0x409b07
mov ebx, dword [edi + 0xc]
push ebx
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x409b07
cmp dword [esp + 0x20], 1
push ebx
jle 0x409a45
mov ecx, dword [esp + 0x24]
push ecx
push str._d_x__d_KBytes
lea edx, [esp + 0xc4]
push 0x200
push edx
call fcn.004374b0
add esp, 0x14
jmp 0x409a5f
push str._d_KBytes
lea eax, [esp + 0xc0]
push 0x200
push eax
call fcn.004374b0
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x409abb
cmp eax, 1
je 0x409aa6
cmp eax, 0xff
je 0x409a91
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.004374b0
add esp, 0x14
jmp 0x409ad6
mov eax, dword [edi + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409ace
mov edx, dword [edi + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x409ace
mov ecx, dword [edi + 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
call fcn.00438660
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 0x409ca9
push 3
push 3
mov ecx, esi
call fcn.00439bc0
mov edi, eax
test edi, edi
je 0x409ca9
mov esi, dword [edi + 0xc]
push esi
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x409ca9
cmp ebx, 1
jle 0x409ba7
cmp esi, 0x400
jl 0x409b89
mov ecx, esi
and ecx, 0x800003ff
jns 0x409b5b
dec ecx
or ecx, 0xfffffc00
inc ecx
jne 0x409b89
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.004374b0
add esp, 0x14
jmp 0x409c01
push esi
push ebx
push str._d_x__d_KBytes
lea eax, [esp + 0xc4]
push 0x200
push eax
call fcn.004374b0
add esp, 0x14
jmp 0x409c01
cmp esi, 0x400
jl 0x409be6
mov ecx, esi
and ecx, 0x800003ff
jns 0x409bc1
dec ecx
or ecx, 0xfffffc00
inc ecx
jne 0x409be6
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 0x409bf9
push esi
push str._d_KBytes
push 0x200
lea eax, [esp + 0xc4]
push eax
call fcn.004374b0
add esp, 0x10
mov eax, dword [edi + 0x18]
cmp eax, 0xffffffff
je 0x409c5d
cmp eax, 1
je 0x409c48
cmp eax, 0xff
je 0x409c33
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.004374b0
add esp, 0x14
jmp 0x409c78
mov eax, dword [edi + 0x14]
push eax
push str.__Fully_associative___d_byte_line_size
push 0x80
lea ecx, [esp + 0x44]
push ecx
jmp 0x409c70
mov edx, dword [edi + 0x14]
push edx
push str.__Direct_mapped___d_byte_line_size
push 0x80
lea eax, [esp + 0x44]
push eax
jmp 0x409c70
mov ecx, dword [edi + 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
call fcn.00438660
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 0x40a206
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 0x409d01
call fcn.00438660
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 0x409d26
call fcn.00438660
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.00438660
cmp dword [eax + 0x34], 0
je 0x409ed7
push 0xc
call fcn.00488f77
add esp, 4
test eax, eax
je 0x409d4e
mov ecx, eax
call fcn.00403c20
mov ebx, eax
jmp 0x409d50
xor ebx, ebx
call fcn.00438660
mov eax, dword [eax + 0x34]
push ebx
push 0
push 3
mov ecx, eax
call fcn.0043f790
test eax, eax
je 0x409ec5
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], 0
call fcn.00403c50
test eax, eax
je 0x409ec5
lea esp, [esp]
push eax
call fcn.00434150
mov eax, dword [eax + 0x18]
add esp, 4
test eax, eax
je 0x409de2
mov edi, dword [eax + 4]
test edi, edi
je 0x409de2
mov esi, dword [edi + 4]
test esi, esi
je 0x409de2
mov edi, edi
push 2
mov ecx, esi
call fcn.0043dac0
test eax, eax
jne 0x409df4
push 0x10
mov ecx, esi
call fcn.0043dac0
test eax, eax
jne 0x409e81
test edi, edi
je 0x409de2
mov eax, dword [edi + 8]
test eax, eax
je 0x409de2
mov esi, dword [eax + 4]
test esi, esi
mov edi, eax
jne 0x409db0
lea ecx, [esp + 0x2c]
call fcn.00403c70
test eax, eax
jne 0x409d90
jmp 0x409ec1
push esi
call fcn.00434150
mov esi, eax
add esp, 4
cmp dword [esi + 0x54], 0
je 0x409ec1
call fcn.00438660
mov ecx, dword [eax + 4]
push str.Graphic_Interface_tAGP_n
call ecx
movzx edi, byte [esi + 0x58]
call fcn.00438660
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.00438660
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 0x409e5b
mov edi, str.not_enabled
cmp dword [esi + 0x30], 0
mov esi, str.supported
jne 0x409e6b
mov esi, str.not_supported
call fcn.00438660
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 0x409ec1
push esi
call fcn.00434150
mov esi, eax
call fcn.00438660
mov ecx, dword [eax + 4]
push str.Graphic_Interface_tPCI_Express_n
call ecx
call fcn.00438660
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.00438660
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 0x409ed3
mov eax, dword [ebx]
mov edx, dword [eax]
push 1
mov ecx, ebx
call edx
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x409f01
mov eax, dword [ebx + 0xc]
push eax
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x409f01
call fcn.00438660
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 0x40a206
mov byte [esp + 0xb8], 0
mov eax, dword [edi + 4]
add eax, 0xfffffffe
cmp eax, 7
ja case.default.0x409f20
jmp dword [eax*4 + 0x40a448]
push 0x4b7d80
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x409fab
push 0x4b7d7c
jmp 0x409f9e
push str.SDRAM
push 0x200
lea edx, [esp + 0xc0]
push edx
jmp 0x409fab
push str.RDRAM
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x409fab
push 0x4b7d68
jmp 0x409f9e
push str.DDR2
push 0x200
lea edx, [esp + 0xc0]
push edx
jmp 0x409fab
push str.DDR3
push 0x200
lea eax, [esp + 0xc0]
push eax
jmp 0x409fab
push str.FB_DDR2
push 0x200
lea ecx, [esp + 0xc0]
push ecx
call fcn.004374b0
add esp, 0xc
call fcn.00438660
mov eax, dword [eax + 4]
lea edx, [esp + 0xb8]
push edx
push str.Memory_Type_t_t_s_n
call eax
call fcn.00438660
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 0x40a00b
call fcn.00438660
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.00407ba0
add esp, 4
test eax, eax
je 0x40a070
test esi, esi
jne 0x40a03b
push str.none
lea eax, [esp + 0xbc]
push 0x200
push eax
call fcn.004374b0
add esp, 0xc
jmp 0x40a056
push esi
push str._d_way
lea ecx, [esp + 0xc0]
push 0x200
push ecx
call fcn.004374b0
add esp, 0x10
call fcn.00438660
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 0x40a097
call fcn.00438660
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.00407ba0
add esp, 4
test eax, eax
je 0x40a0bd
call fcn.00438660
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.00407ba0
add esp, 4
test eax, eax
je 0x40a0e3
call fcn.00438660
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.00407ba0
add esp, 4
test eax, eax
je 0x40a109
call fcn.00438660
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.00407ba0
add esp, 4
test eax, eax
je 0x40a12f
call fcn.00438660
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.00407ba0
add esp, 4
test eax, eax
je 0x40a155
call fcn.00438660
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.00407ba0
add esp, 4
test eax, eax
je 0x40a17b
call fcn.00438660
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.00407ba0
add esp, 4
test eax, eax
je 0x40a1a1
call fcn.00438660
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.00407ba0
add esp, 4
test eax, eax
je 0x40a1c7
call fcn.00438660
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 0x40a206
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 0xa4]
push esi
call fcn.00407ba0
add esp, 4
test eax, eax
je 0x40a206
test esi, esi
mov esi, str.enabled
jne 0x40a1f3
mov esi, str.disabled
call fcn.00438660
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 0x40a35c
push 1
call fcn.00486ba0
test eax, eax
je 0x40a288
push eax
call fcn.00434150
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
je 0x40a24c
call fcn.00438660
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 0x40a26a
call fcn.00438660
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 0x40a288
call fcn.00438660
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.00486ba0
test eax, eax
je 0x40a2e4
push eax
call fcn.00434150
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
je 0x40a2c6
call fcn.00438660
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 0x40a2e4
call fcn.00438660
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.00486ba0
test eax, eax
je 0x40a35e
push eax
call fcn.00434150
mov esi, eax
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax], 0
je 0x40a31e
call fcn.00438660
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 0x40a33c
call fcn.00438660
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 0x40a35e
call fcn.00438660
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 0x40a35e
mov edi, edx
mov eax, dword [edi + 0xcc]
test eax, eax
je 0x40a3cc
xor edi, edi
cmp dword [eax + 4], edi
jle 0x40a3cc
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 0x40a388
mov ebx, str.unknown_brand
add edi, 1
call fcn.00438660
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 0x40a373
mov ebx, dword [esp + 0x24]
cmp dword [ebx + 0xb4], 0
je 0x40a41a
mov eax, dword [ebx + 0xb4]
mov esi, dword [eax + 0x20]
mov edi, dword [eax + 0x1c]
call fcn.00438660
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 0x40a41a
call fcn.00438660
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.00421f60
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