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

Disassembly:
sub esp, 0xf4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5d64c0]
mov dword [esp + 0x3c], eax
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov byte [esp + 0x27], al
mov byte [esp + 0x21], al
mov byte [esp + 0x23], al
mov byte [esp + 0x29], al
mov byte [esp + 0x18], al
mov byte [esp + 0x2b], al
mov byte [esp + 0x1a], al
mov byte [esp + 0x2d], al
mov byte [esp + 0x1c], al
mov byte [esp + 0x2f], al
mov byte [esp + 0x1e], al
mov byte [esp + 0x31], al
mov byte [esp + 0x20], al
mov byte [esp + 0x14], al
mov byte [esp + 0x33], al
mov byte [esp + 0x22], al
mov byte [esp + 0x35], al
mov byte [esp + 0x24], al
mov byte [esp + 0x37], al
mov byte [esp + 0x26], al
mov byte [esp + 0x36], al
mov byte [esp + 0x28], al
mov byte [esp + 0x30], al
mov byte [esp + 0x2a], al
mov byte [esp + 0x34], al
mov byte [esp + 0x2c], al
mov byte [esp + 0x32], al
mov byte [esp + 0x2e], al
mov byte [esp + 0x25], al
mov byte [esp + 0x15], al
mov byte [esp + 0x16], al
mov byte [esp + 0x17], al
mov byte [esp + 0x19], al
mov byte [esp + 0x1b], al
mov byte [esp + 0x1d], al
mov byte [esp + 0x1f], al
mov byte [esp + 0x13], al
mov byte [0x5d6570], al
cpuid
lea esi, [esp + 0x78]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
xor ebp, ebp
xor eax, eax
mov dword [esi + 0xc], edx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
xor ecx, ecx
cmp dword [esp + 0x3c], 0
cpuid
lea esi, [esp + 0x40]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov ebx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
mov esi, dword [esp + 0x40]
je 0x44501d
mov edx, dword [esp + 0x38]
push edx
push str._nFor_InfoType__d_n
call fcn.004b7f6d
push esi
push str.CPUInfo_0___0x_x_n
call fcn.004b7f6d
push edi
push str.CPUInfo_1___0x_x_n
call fcn.004b7f6d
push ebx
push str.CPUInfo_2___0x_x_n
call fcn.004b7f6d
mov eax, dword [esp + 0x6c]
push eax
push str.CPUInfo_3___0x_x_n
call fcn.004b7f6d
add esp, 0x28
mov ecx, dword [esp + 0x38]
cmp ecx, 1
jne 0x44515a
mov eax, esi
and eax, 0xf
mov dword [esp + 0x8c], eax
mov eax, esi
sar eax, 4
and eax, 0xf
mov dword [esp + 0x60], eax
mov eax, esi
sar eax, 8
and eax, 0xf
mov dword [esp + 0x68], eax
mov eax, esi
sar eax, 0xc
and eax, 3
mov dword [esp + 0x70], eax
mov eax, esi
sar eax, 0x10
and eax, 0xf
mov dword [esp + 0x90], eax
mov eax, edi
and eax, 0xff
mov dword [esp + 0x88], eax
mov eax, edi
sar eax, 0x10
and eax, 0xff
mov dword [esp + 0x6c], eax
mov al, bl
and al, cl
mov byte [esp + 0x27], al
mov al, bl
shr al, 3
and al, cl
mov byte [esp + 0x21], al
mov ebp, edi
sar ebp, 8
mov al, bl
shr al, 4
and al, cl
mov byte [esp + 0x23], al
and ebp, 0xff
add ebp, ebp
sar esi, 0x14
add ebp, ebp
sar edi, 0x18
mov al, bl
shr al, 5
and al, cl
mov byte [esp + 0x29], al
and esi, 0xff
add ebp, ebp
and edi, 0xff
test bl, 0x80
setne byte [esp + 0x18]
mov edx, ebx
shr edx, 8
and dl, cl
mov byte [esp + 0x2b], dl
mov eax, ebx
shr eax, 9
and al, cl
mov byte [esp + 0x1a], al
test ebx, 0x300
setne byte [esp + 0x2d]
mov edx, ebx
shr edx, 0xd
and dl, cl
mov eax, ebx
shr eax, 0xe
and al, cl
mov byte [esp + 0x1c], dl
mov byte [esp + 0x2f], al
mov edx, ebx
shr edx, 0xf
mov eax, ebx
and dl, cl
shr eax, 0x13
mov dword [esp + 0x64], esi
mov dword [0x5d64dc], ebp
mov dword [esp + 0x58], edi
mov byte [esp + 0x1e], dl
and eax, ecx
mov byte [0x5d6570], al
mov eax, ebx
shr eax, 0x14
and al, cl
mov byte [esp + 0x31], al
mov eax, dword [esp + 0x4c]
shr ebx, 0x17
mov dword [esp + 0x74], eax
and bl, cl
shr eax, 0x1c
and al, cl
mov byte [esp + 0x20], bl
mov byte [esp + 0x14], al
inc ecx
mov dword [esp + 0x38], ecx
cmp ecx, dword [esp + 0x78]
jbe 0x444fb1
xor ecx, ecx
mov eax, 0x80000000
cpuid
lea esi, [esp + 0xb4]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov ecx, dword [esp + 0xc0]
push 0x40
lea edx, [esp + 0xc8]
push 0
push edx
mov dword [esp + 0x58], ecx
call fcn.004bd240
mov ebx, dword [esp + 0xc0]
mov edi, 0x80000000
add esp, 0xc
mov dword [esp + 0x38], edi
cmp ebx, edi
jb 0x445425
jmp 0x4451c0
mov eax, edi
mov edi, dword [esp + 0x38]
xor ecx, ecx
cmp dword [esp + 0x3c], 0
cpuid
lea esi, [esp + 0x40]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov esi, dword [esp + 0x44]
mov ebx, dword [esp + 0x48]
je 0x44522a
push edi
push str._nFor_InfoType__x_n
call fcn.004b7f6d
mov eax, dword [esp + 0x48]
push eax
push str.CPUInfo_0___0x_x_n
call fcn.004b7f6d
push esi
push str.CPUInfo_1___0x_x_n
call fcn.004b7f6d
push ebx
push str.CPUInfo_2___0x_x_n
call fcn.004b7f6d
mov ecx, dword [esp + 0x6c]
push ecx
push str.CPUInfo_3___0x_x_n
call fcn.004b7f6d
add esp, 0x28
cmp edi, 0x80000001
jne 0x44530f
mov al, bl
and al, 1
mov byte [esp + 0x33], al
mov al, bl
shr al, 1
and al, 1
mov byte [esp + 0x22], al
mov al, bl
shr al, 2
and al, 1
mov byte [esp + 0x35], al
mov al, bl
shr al, 3
and al, 1
mov byte [esp + 0x24], al
mov al, bl
shr al, 4
and al, 1
mov byte [esp + 0x37], al
mov al, bl
shr al, 5
and al, 1
mov byte [esp + 0x26], al
mov al, bl
shr al, 6
and al, 1
test bl, 0x80
setne byte [esp + 0x28]
mov edx, ebx
shr edx, 8
and dl, 1
mov byte [esp + 0x30], dl
mov byte [esp + 0x36], al
mov eax, dword [esp + 0x4c]
mov ecx, eax
shr ecx, 0xb
and cl, 1
mov byte [esp + 0x34], cl
mov edx, eax
shr edx, 0x10
and dl, 1
mov byte [esp + 0x2c], dl
mov ecx, eax
shr ecx, 0x12
and cl, 1
mov edx, eax
shr edx, 0x15
and dl, 1
mov byte [esp + 0x32], cl
mov byte [esp + 0x2e], dl
mov ecx, eax
shr ecx, 0x16
mov edx, eax
shr edx, 0x1b
and cl, 1
and dl, 1
mov byte [esp + 0x25], cl
mov byte [esp + 0x15], dl
mov ecx, eax
mov edx, eax
shr ebx, 0xc
shr ecx, 0x1d
shr edx, 0x1e
and bl, 1
and cl, 1
and dl, 1
shr eax, 0x1f
and al, 1
mov byte [esp + 0x2a], bl
mov byte [esp + 0x16], cl
mov byte [esp + 0x17], dl
mov byte [esp + 0x19], al
jmp 0x445411
cmp edi, 0x80000002
jne 0x445340
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ecx
jmp 0x445411
cmp edi, 0x80000003
jne 0x445371
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], ebx
mov dword [esp + 0xe0], eax
jmp 0x445411
cmp edi, 0x80000004
jne 0x44539f
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], edx
jmp 0x445411
cmp edi, 0x80000006
jne 0x4453cd
mov eax, ebx
and eax, 0xff
mov dword [esp + 0x5c], eax
mov eax, ebx
sar eax, 0xc
and eax, 0xf
sar ebx, 0x10
and ebx, 0xffff
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ebx
jmp 0x445411
cmp edi, 0x80000008
je 0x445411
cmp edi, 0x8000000a
jne 0x4453f4
mov al, byte [esp + 0x4c]
mov cl, al
and cl, 1
shr al, 1
and al, 1
mov byte [esp + 0x1b], cl
mov byte [esp + 0x1d], al
jmp 0x445411
cmp edi, 0x8000001a
jne 0x445411
mov al, byte [esp + 0x40]
mov cl, al
and cl, 1
shr al, 1
and al, 1
mov byte [esp + 0x1f], cl
mov byte [esp + 0x13], al
mov ebx, dword [esp + 0xb4]
inc edi
mov dword [esp + 0x38], edi
cmp edi, ebx
jbe 0x4451c0
xor eax, eax
jmp 0x445430
mov cl, byte [esp + eax + 0xc4]
mov byte [eax + 0x5d6440], cl
inc eax
test cl, cl
jne 0x445430
cmp dword [esp + 0x3c], 0
je 0x44545e
lea eax, [esp + 0x94]
push eax
push str._n_nCPU_String:__s_n
call fcn.004b7f6d
add esp, 8
mov edi, 1
cmp dword [esp + 0x78], edi
jb 0x4459f5
cmp dword [esp + 0x3c], 0
je 0x4459f5
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x445491
push eax
push str.Stepping_ID___d_n
call fcn.004b7f6d
add esp, 8
mov eax, dword [esp + 0x60]
test eax, eax
je 0x4454a7
push eax
push str.Model___d_n
call fcn.004b7f6d
add esp, 8
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4454bd
push eax
push str.Family___d_n
call fcn.004b7f6d
add esp, 8
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4454d3
push eax
push str.Processor_Type___d_n
call fcn.004b7f6d
add esp, 8
mov eax, dword [esp + 0x90]
test eax, eax
je 0x4454ec
push eax
push str.Extended_model___d_n
call fcn.004b7f6d
add esp, 8
mov eax, dword [esp + 0x64]
test eax, eax
je 0x445502
push eax
push str.Extended_family___d_n
call fcn.004b7f6d
add esp, 8
mov eax, dword [esp + 0x88]
test eax, eax
je 0x44551b
push eax
push str.Brand_Index___d_n
call fcn.004b7f6d
add esp, 8
test ebp, ebp
je 0x44552d
push ebp
push str.CLFLUSH_cache_line_size___d_n
call fcn.004b7f6d
add esp, 8
cmp byte [esp + 0x14], 0
je 0x44554a
mov eax, dword [esp + 0x6c]
test eax, eax
jle 0x44554a
push eax
push str.Logical_Processor_Count___d_n
call fcn.004b7f6d
add esp, 8
mov eax, dword [esp + 0x58]
test eax, eax
je 0x445560
push eax
push str.APIC_Physical_ID___d_n
call fcn.004b7f6d
add esp, 8
mov ebp, dword [esp + 0x74]
test ebp, ebp
jne 0x4456c1
cmp byte [esp + 0x27], 0
jne 0x4456c1
cmp byte [esp + 0x21], 0
jne 0x4456c1
cmp byte [esp + 0x23], 0
jne 0x4456c1
cmp byte [esp + 0x29], 0
jne 0x4456c1
cmp byte [esp + 0x18], 0
jne 0x4456c1
cmp byte [esp + 0x2b], 0
jne 0x4456c1
cmp byte [esp + 0x1a], 0
jne 0x4456c1
cmp byte [esp + 0x2d], 0
jne 0x4456c1
cmp byte [esp + 0x1c], 0
jne 0x4456c1
cmp byte [esp + 0x2f], 0
jne 0x4456c1
cmp byte [esp + 0x1e], 0
jne 0x4456c1
cmp byte [0x5d6570], 0
jne 0x4456c1
cmp byte [esp + 0x31], 0
jne 0x4456c1
cmp byte [esp + 0x20], 0
jne 0x4456c1
cmp byte [esp + 0x33], 0
jne 0x4456c1
cmp byte [esp + 0x22], 0
jne 0x4456c1
cmp byte [esp + 0x35], 0
jne 0x4456c1
cmp byte [esp + 0x24], 0
jne 0x4456c1
cmp byte [esp + 0x37], 0
jne 0x4456c1
cmp byte [esp + 0x26], 0
jne 0x4456c1
cmp byte [esp + 0x36], 0
jne 0x4456c1
cmp byte [esp + 0x28], 0
jne 0x4456c1
cmp byte [esp + 0x30], 0
jne 0x4456c1
cmp byte [esp + 0x2a], 0
jne 0x4456c1
cmp byte [esp + 0x34], 0
jne 0x4456c1
cmp byte [esp + 0x2c], 0
jne 0x4456c1
cmp byte [esp + 0x32], 0
jne 0x4456c1
cmp byte [esp + 0x2e], 0
jne 0x4456c1
cmp byte [esp + 0x25], 0
jne 0x4456c1
cmp byte [esp + 0x15], 0
jne 0x4456c1
cmp byte [esp + 0x16], 0
jne 0x4456c1
cmp byte [esp + 0x17], 0
jne 0x4456c1
cmp byte [esp + 0x19], 0
jne 0x4456c1
cmp byte [esp + 0x1b], 0
jne 0x4456c1
cmp byte [esp + 0x1d], 0
jne 0x4456c1
cmp byte [esp + 0x1f], 0
jne 0x4456c1
cmp byte [esp + 0x13], 0
je 0x4459f5
push str._nThe_following_features_are_supported:_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x27], 0
je 0x4456e2
push str._tSSE3_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x21], 0
je 0x4456f6
push str._tMONITOR_MWAIT_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x23], 0
je 0x44570a
push str._tCPL_Qualified_Debug_Store_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x29], 0
je 0x44571e
push str._tVirtual_Machine_Extensions_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x18], 0
je 0x445732
push str._tEnhanced_Intel_SpeedStep_Technology_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x2b], 0
je 0x445746
push str._tThermal_Monitor_2_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x1a], 0
je 0x44575a
push str._tSupplemental_Streaming_SIMD_Extensions_3_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x2d], 0
je 0x44576e
push str._tL1_Context_ID_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x1c], 0
je 0x445782
push str._tCMPXCHG16B_Instruction_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x2f], 0
je 0x445796
push str._txTPR_Update_Control_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x1e], 0
je 0x4457aa
push str._tPerfDebug_Capability_MSR_n
call fcn.004b7f6d
add esp, 4
cmp byte [0x5d6570], 0
je 0x4457c0
push str._tSSE4.1_Extensions_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x31], 0
je 0x4457d4
push str._tSSE4.2_Extensions_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x20], 0
je 0x4457e8
push str._tPPOPCNT_Instruction_n
call fcn.004b7f6d
add esp, 4
xor esi, esi
lea ebx, [ebx]
test ebp, edi
je 0x44581c
push 0x5b30fc
call fcn.004b7f6d
mov ecx, dword [esi + 0x5c5d58]
push ecx
push 0x5abc54
call fcn.004b7f6d
push 0x51a9dc
call fcn.004b7f6d
add esp, 0x10
add esi, 4
add edi, edi
cmp esi, 0x80
jb 0x4457f0
cmp byte [esp + 0x33], 0
je 0x44583d
push str._tLAHF_SAHF_in_64_bit_mode_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x22], 0
je 0x445851
push str._tCore_multi_processing_legacy_mode_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x35], 0
je 0x445865
push str._tSecure_Virtual_Machine_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x24], 0
je 0x445879
push str._tExtended_APIC_Register_Space_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x37], 0
je 0x44588d
push str._tAltMovCr8_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x26], 0
je 0x4458a1
push str._tLZCNT_instruction_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x36], 0
je 0x4458b5
push str._tSSE4A__EXTRQ__INSERTQ__MOVNTSD__MOVNTSS__n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x28], 0
je 0x4458c9
push str._tMisaligned_SSE_mode_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x30], 0
je 0x4458dd
push str._tPREFETCH_and_PREFETCHW_Instructions_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x2a], 0
je 0x4458f1
push str._tSKINIT_and_DEV_support_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x34], 0
je 0x445905
push str._tSYSCALL_SYSRET_in_64_bit_mode_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x2c], 0
je 0x445919
push str._tExecute_Disable_Bit_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x32], 0
je 0x44592d
push str._tExtensions_to_MMX_Instructions_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x2e], 0
je 0x445941
push str._tFFXSR_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x25], 0
je 0x445955
push str._t1GB_page_support_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x15], 0
je 0x445969
push str._tRDTSCP_instruction_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x16], 0
je 0x44597d
push str._t64_bit_Technology_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x17], 0
je 0x445991
push str._t3Dnow_Ext_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x19], 0
je 0x4459a5
push str._t3Dnow__instructions_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x1b], 0
je 0x4459b9
push str._tNested_Paging_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x1d], 0
je 0x4459cd
push str._tLBR_Visualization_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x1f], 0
je 0x4459e1
push str._tFP128_optimization_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x13], 0
je 0x4459f5
push str._tMOVU_Optimization_n
call fcn.004b7f6d
add esp, 4
cmp ebx, 0x80000004
jb 0x445a19
cmp dword [esp + 0x3c], 0
je 0x445a19
lea edx, [esp + 0xc4]
push edx
push str._nCPU_Brand_String:__s_n
call fcn.004b7f6d
add esp, 8
cmp ebx, 0x80000006
jb 0x445a58
cmp dword [esp + 0x3c], 0
je 0x445a58
mov eax, dword [esp + 0x5c]
push eax
push str.Cache_Line_Size___d_n
call fcn.004b7f6d
mov ecx, dword [esp + 0x58]
push ecx
push str.L2_Associativity___d_n
call fcn.004b7f6d
mov edx, dword [esp + 0x64]
push edx
push str.Cache_Size___dK_n
call fcn.004b7f6d
add esp, 0x18
xor ecx, ecx
mov eax, 4
cpuid
lea esi, [esp + 0x78]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov ebx, dword [esp + 0x78]
xor ebp, ebp
mov dword [esp + 0x38], ebp
test bl, 0xf0
je 0x445c0e
test ebp, ebp
jne 0x445aa1
cmp dword [esp + 0x3c], ebp
je 0x445aa1
mov eax, ebx
sar eax, 0x1a
inc eax
push eax
push str._n_nNumber_of_Cores___d_n
call fcn.004b7f6d
add esp, 8
mov eax, dword [esp + 0x7c]
mov ecx, ebx
sar ecx, 8
and cl, 1
mov ebp, eax
mov edi, ebx
mov byte [esp + 0x14], cl
mov edx, ebx
mov esi, ebx
sar edi, 5
sar edx, 9
sar esi, 0xe
mov ecx, eax
sar ebp, 0xc
and dl, 1
and ecx, 0xfff
sar eax, 0x16
and edi, 7
and esi, 0xfff
and ebp, 0x3ff
cmp dword [esp + 0x3c], 0
mov byte [esp + 0x13], dl
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], eax
je 0x445be0
push 0x51a9dc
call fcn.004b7f6d
mov eax, dword [esp + 0x3c]
push eax
push str.ECX_Index__d_n
call fcn.004b7f6d
and ebx, 0x1f
add esp, 0xc
cmp ebx, 3
ja case.default.0x445b1d
jmp dword [ebx*4 + 0x445c1c]
push str.___Type:_Null_n
jmp 0x445b45
push str.___Type:_Data_Cache_n
jmp 0x445b45
push str.___Type:_Instruction_Cache_n
jmp 0x445b45
push str.___Type:_Unified_Cache_n
jmp 0x445b45
push str.___Type:_Unknown_n
call fcn.004b7f6d
add esp, 4
inc edi
push edi
push str.___Level___d_n
call fcn.004b7f6d
add esp, 8
cmp byte [esp + 0x14], 0
je 0x445b6a
push str.___Self_Initializing_n
jmp 0x445b6f
push str.___Not_Self_Initializing_n
call fcn.004b7f6d
add esp, 4
cmp byte [esp + 0x13], 0
je 0x445b85
push str.___Is_Fully_Associatve_n
jmp 0x445b8a
push str.___Is_Not_Fully_Associatve_n
call fcn.004b7f6d
add esp, 4
inc esi
push esi
push str.___Max_Threads___d_n
call fcn.004b7f6d
mov ecx, dword [esp + 0x5c]
inc ecx
push ecx
push str.___System_Line_Size___d_n
call fcn.004b7f6d
inc ebp
push ebp
push str.___Physical_Line_Partions___d_n
call fcn.004b7f6d
mov edx, dword [esp + 0x68]
inc edx
push edx
push str.___Ways_of_Associativity___d_n
call fcn.004b7f6d
mov eax, dword [esp + 0xa0]
inc eax
push eax
push str.___Number_of_Sets___d_n
call fcn.004b7f6d
add esp, 0x28
mov ebp, dword [esp + 0x38]
inc ebp
mov eax, 4
mov ecx, ebp
cpuid
lea esi, [esp + 0x78]
mov dword [esi], eax
mov dword [esi + 4], ebx
mov dword [esi + 8], ecx
mov dword [esi + 0xc], edx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x38], ebp
test bl, 0xf0
jne 0x445a83
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xf4
ret