Function at 0x438ca0
Capabilities:
Get cpu information
Inspect section memory permissions
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x55ccac
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
push ebx
push esi
push edi
mov eax, dword [0x5c8810]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00436ff0
xor ebx, ebx
mov dword [esi + 0x330], eax
cmp eax, ebx
jne 0x438f8a
lea eax, [ebp - 0x10]
push eax
push 0x20019
push ebx
push str.HARDWAREDESCRIPTIONSystemCentralProcessor0
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x438d27
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push ecx
lea edx, [esi + 0x4c]
push edx
push ebx
push ebx
push str.VendorIdentifier
push eax
mov dword [ebp - 0x14], 0x80
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [ebp - 0x10]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x10], ebx
pushfd
pop eax
mov ecx, eax
xor eax, 0x40000
push eax
popfd
pushfd
pop eax
xor eax, ecx
mov dword [ebp - 0x10], 0x182
je 0x438d61
push ecx
popfd
mov dword [ebp - 0x10], 0x1e6
mov eax, ecx
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
xor eax, ecx
je 0x438d61
mov dword [ebp - 0x10], 0x24a
call fcn.00437c80
mov edi, eax
sub eax, ebx
je 0x438d76
sub eax, 1
je 0x438ded
sub eax, 2
jne 0x438d7c
mov dword [esi + 0x334], ebx
mov eax, dword [ebp - 0x10]
sub eax, 0x182
je 0x438eaf
sub eax, 0x64
jne 0x439c66
mov dword [ebp - 0x10], ebx
xor ax, ax
sahf
mov ax, 5
mov bx, 2
div bl
lahf
cmp ah, 2
jne 0x438db1
mov dword [ebp - 0x10], 1
xor eax, eax
cmp dword [ebp - 0x10], 1
sete al
test eax, eax
je 0x438df9
push 0x2c
call fcn.005120bc
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x438f01
mov ecx, eax
call fcn.0047b370
mov dword [ebp - 4], 0xffffffff
jmp 0x439c5e
mov dword [esi + 0x334], 1
jmp 0x438d7c
lea edx, [ebp - 0x14]
push edx
call fcn.00437ce0
add esp, 4
test eax, eax
je 0x438e41
push 0x20
call fcn.005120bc
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 4
test eax, eax
je 0x438f01
mov ecx, dword [ebp - 0x14]
push ecx
push 0x1e6
mov ecx, eax
call fcn.0047b060
mov dword [ebp - 4], 0xffffffff
jmp 0x439c5e
push 0x18
call fcn.005120bc
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 5
test eax, eax
je 0x438e66
push 0
push 1
mov ecx, eax
call fcn.0047af80
jmp 0x438e68
xor eax, eax
or ebx, 0xffffffff
push eax
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00437bc0
push 0x20
call fcn.005120bc
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x438f78
push edi
push 0x1e6
mov ecx, eax
call fcn.0047ad10
push eax
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00437c20
jmp 0x439c66
mov dword [ebp - 0x10], ebx
mov eax, 0x5555
xor edx, edx
mov ecx, 2
clc
div ecx
je 0x438ec5
jmp 0x438ecc
mov dword [ebp - 0x10], 1
xor eax, eax
cmp dword [ebp - 0x10], 1
sete al
cmp eax, ebx
je 0x438f0f
push 0x28
call fcn.005120bc
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x438f01
push edi
mov ecx, eax
call fcn.0047a790
mov dword [ebp - 4], 0xffffffff
jmp 0x439c5e
xor eax, eax
mov dword [ebp - 4], 0xffffffff
jmp 0x439c5e
push 0x18
call fcn.005120bc
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 1
cmp eax, ebx
je 0x438f33
push ebx
push 1
mov ecx, eax
call fcn.0047af80
jmp 0x438f35
xor eax, eax
or ebx, 0xffffffff
push eax
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00437bc0
push 0x20
call fcn.005120bc
add esp, 4
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x438f78
push edi
push 0x182
mov ecx, eax
call fcn.0047a5f0
push eax
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00437c20
jmp 0x439c66
xor eax, eax
push eax
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.00437c20
jmp 0x439c66
lea edx, [ebp - 0x28]
push ebx
push edx
call fcn.00413480
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp - 0x28]
add esp, 8
mov dword [esi + 0x54], ecx
mov dword [esi + 0x50], edx
mov byte [esi + 0x58], bl
mov dword [esi + 0x2d4], eax
cmp eax, 1
jb 0x43910b
lea eax, [ebp - 0x28]
push 1
push eax
call fcn.00413480
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x10], ecx
xor ecx, ecx
mov eax, ebx
and al, 1
add esp, 8
cmp al, 1
sete cl
mov edi, dword [ebp - 0x28]
xor eax, eax
mov dword [ebp - 0x18], edx
mov edx, ebx
and dl, 0x20
cmp dl, 0x20
sete al
mov dword [esi + 0x334], ecx
mov ecx, ebx
and cl, 0x10
mov dword [esi + 0x33c], eax
xor eax, eax
cmp cl, 0x10
sete al
mov dword [esi + 0x338], eax
test eax, eax
je 0x43908d
push 0x28
call fcn.005120bc
add esp, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 7
test eax, eax
je 0x43903a
mov ecx, eax
call fcn.0046a9c0
jmp 0x43903c
xor eax, eax
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
mov dword [esi + 0x424], eax
call fcn.00438c40
fstp dword [ebp - 0x14]
fld dword [ebp - 0x14]
fst dword [esi + 0x4cc]
fmul qword [0x566528]
call fcn.00532026
mov ecx, dword [esi + 0x424]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
mov edx, dword [esi + 0x424]
mov dword [ebp - 0x14], edx
call fcn.00416b80
mov ecx, dword [ebp - 0x14]
push ecx
mov ecx, dword [eax + 0x30]
call fcn.00415820
mov eax, edi
shr eax, 4
and eax, 0xf
mov edx, edi
shr edx, 8
mov dword [esi + 0x2f0], eax
mov eax, dword [ebp - 0x18]
and edx, 0xf
mov dword [esi + 0x31c], ebx
mov ecx, edi
shr ebx, 9
mov dword [esi + 0x318], eax
shr eax, 0x1f
mov dword [esi + 0x2ec], edx
mov edx, dword [ebp - 0x10]
and ecx, 0xf
and edi, 0xfff
and ebx, 1
mov dword [esi + 0x2f4], ecx
mov dword [esi + 0x300], edi
mov dword [esi + 0x314], edx
mov dword [esi + 0x340], ebx
mov dword [esi + 0x364], eax
test eax, eax
je 0x43910b
lea eax, [ebp - 0x28]
push 0x40000000
push eax
call fcn.00413480
mov ecx, dword [ebp - 0x28]
add esp, 8
mov dword [esi + 0x2dc], ecx
lea edx, [ebp - 0x28]
push SysReAllocString
push edx
mov ebx, 1
call fcn.00413480
mov eax, dword [ebp - 0x28]
add esp, 8
mov dword [esi + 0x2d8], eax
cmp eax, 0x80000001
jb 0x439168
lea eax, [ebp - 0x28]
push SysReAllocString
push eax
call fcn.00413480
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov dword [esi + 0x328], eax
shr eax, 0x14
add esp, 8
and eax, ebx
mov dword [esi + 0x320], ecx
mov dword [esi + 0x324], edx
mov dword [esi + 0x35c], eax
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x43918a
lea eax, [ebp - 0x38]
push ebx
push eax
call fcn.00413480
add esp, 8
test dword [ebp - 0x2c], 0x800000
je 0x43918a
mov edi, ebx
mov dword [esi + 0x3ac], edi
xor edi, edi
cmp dword [esi + 0x2d8], 0x80000001
jb 0x4391ba
lea ecx, [ebp - 0x38]
push SysReAllocString
push ecx
call fcn.00413480
add esp, 8
test dword [ebp - 0x2c], 0x400000
je 0x4391ba
mov edi, ebx
mov dword [esi + 0x3b0], edi
xor edi, edi
cmp dword [esi + 0x2d8], 0x80000001
jb 0x4391ea
lea edx, [ebp - 0x38]
push SysReAllocString
push edx
call fcn.00413480
add esp, 8
test dword [ebp - 0x2c], 0x80000000
je 0x4391ea
mov edi, ebx
mov dword [esi + 0x3b4], edi
xor edi, edi
cmp dword [esi + 0x2d8], 0x80000001
jb 0x43921a
lea eax, [ebp - 0x38]
push SysReAllocString
push eax
call fcn.00413480
add esp, 8
test dword [ebp - 0x2c], 0x40000000
je 0x43921a
mov edi, ebx
mov dword [esi + 0x3b8], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x439242
lea ecx, [ebp - 0x38]
push ebx
push ecx
call fcn.00413480
add esp, 8
test dword [ebp - 0x2c], 0x2000000
je 0x439242
mov edi, ebx
mov dword [esi + 0x3bc], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x43926a
lea edx, [ebp - 0x38]
push ebx
push edx
call fcn.00413480
add esp, 8
test dword [ebp - 0x2c], 0x4000000
je 0x43926a
mov edi, ebx
mov dword [esi + 0x3c0], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x43928f
lea eax, [ebp - 0x38]
push ebx
push eax
call fcn.00413480
add esp, 8
test byte [ebp - 0x30], 1
je 0x43928f
mov edi, ebx
mov dword [esi + 0x3c4], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x4392b7
lea ecx, [ebp - 0x38]
push ebx
push ecx
call fcn.00413480
add esp, 8
test dword [ebp - 0x30], 0x200
je 0x4392b7
mov edi, ebx
mov dword [esi + 0x3c8], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x4392df
lea edx, [ebp - 0x38]
push ebx
push edx
call fcn.00413480
add esp, 8
test dword [ebp - 0x30], 0x80000
je 0x4392df
mov edi, ebx
mov dword [esi + 0x3cc], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x439307
lea eax, [ebp - 0x38]
push ebx
push eax
call fcn.00413480
add esp, 8
test dword [ebp - 0x30], 0x100000
je 0x439307
mov edi, ebx
mov dword [esi + 0x3d0], edi
xor edi, edi
cmp dword [esi + 0x2d8], 0x80000001
jb 0x439334
lea ecx, [ebp - 0x38]
push SysReAllocString
push ecx
call fcn.00413480
add esp, 8
test byte [ebp - 0x30], 0x40
je 0x439334
mov edi, ebx
mov dword [esi + 0x3d4], edi
xor edi, edi
cmp dword [esi + 0x2d8], 0x80000001
mov ebx, 0x800
jb 0x439368
lea edx, [ebp - 0x38]
push SysReAllocString
push edx
call fcn.00413480
add esp, 8
test dword [ebp - 0x30], ebx
je 0x439368
mov edi, 1
mov dword [esi + 0x3d8], edi
xor edi, edi
cmp dword [esi + 0x2d8], 0x80000001
jb 0x43939b
lea eax, [ebp - 0x38]
push SysReAllocString
push eax
call fcn.00413480
add esp, 8
test dword [ebp - 0x2c], 0x20000000
je 0x43939b
mov edi, 1
mov dword [esi + 0x3dc], edi
xor edi, edi
cmp dword [esi + 0x2d4], 1
jb 0x4393c8
lea ecx, [ebp - 0x38]
push 1
push ecx
call fcn.00413480
add esp, 8
test dword [ebp - 0x30], 0x800000
je 0x4393c8
mov edi, 1
mov dword [esi + 0x3e0], edi
xor edi, edi
cmp dword [esi + 0x2d4], 1
jb 0x4393f5
lea edx, [ebp - 0x38]
push 1
push edx
call fcn.00413480
add esp, 8
test dword [ebp - 0x30], 0x2000000
je 0x4393f5
mov edi, 1
mov dword [esi + 0x3e4], edi
xor edi, edi
cmp dword [esi + 0x2d4], 1
jb 0x439422
lea eax, [ebp - 0x38]
push 1
push eax
call fcn.00413480
add esp, 8
test dword [ebp - 0x30], 0x10000000
je 0x439422
mov edi, 1
mov dword [esi + 0x3e8], edi
xor edi, edi
cmp dword [esi + 0x2d4], 7
jb 0x43944d
push edi
lea ecx, [ebp - 0x38]
push 7
push ecx
call fcn.00413450
add esp, 0xc
test byte [ebp - 0x34], 0x20
je 0x43944d
mov edi, 1
mov dword [esi + 0x3ec], edi
xor edi, edi
cmp dword [esi + 0x2d4], 7
jb 0x439482
push edi
lea edx, [ebp - 0x38]
push 7
push edx
call fcn.00413450
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov dword [esi + 0x32c], eax
test eax, 0x10000
je 0x439482
mov edi, 1
mov dword [esi + 0x3f0], edi
xor edi, edi
cmp dword [esi + 0x2d4], 7
jb 0x4394b0
push edi
lea eax, [ebp - 0x38]
push 7
push eax
call fcn.00413450
add esp, 0xc
test dword [ebp - 0x34], 0x20000
je 0x4394b0
mov edi, 1
mov dword [esi + 0x3f4], edi
xor edi, edi
cmp dword [esi + 0x2d4], 7
jb 0x4394de
push edi
lea ecx, [ebp - 0x38]
push 7
push ecx
call fcn.00413450
add esp, 0xc
test dword [ebp - 0x34], 0x40000000
je 0x4394de
mov edi, 1
mov dword [esi + 0x3f8], edi
xor edi, edi
cmp dword [esi + 0x2d4], 7
jb 0x43950c
push edi
lea edx, [ebp - 0x38]
push 7
push edx
call fcn.00413450
add esp, 0xc
test dword [ebp - 0x34], 0x80000000
je 0x43950c
mov edi, 1
mov dword [esi + 0x3fc], edi
xor edi, edi
cmp dword [esi + 0x2d4], 1
jb 0x439539
lea eax, [ebp - 0x38]
push 1
push eax
call fcn.00413480
add esp, 8
test dword [ebp - 0x30], 0x1000
je 0x439539
mov edi, 1
mov dword [esi + 0x400], edi
xor edi, edi
cmp dword [esi + 0x2d8], 0x80000001
jb 0x43956c
lea ecx, [ebp - 0x38]
push SysReAllocString
push ecx
call fcn.00413480
add esp, 8
test dword [ebp - 0x30], 0x10000
je 0x43956c
mov edi, 1
mov dword [esi + 0x404], edi
xor edi, edi
cmp dword [esi + 0x2d4], 7
jb 0x439596
push edi
lea edx, [ebp - 0x38]
push 7
push edx
call fcn.00413450
add esp, 0xc
test dword [ebp - 0x34], ebx
je 0x439596
mov edi, 1
mov dword [esi + 0x408], edi
xor edi, edi
lea ebx, [edi + 7]
cmp dword [esi + 0x2d4], ebx
jb 0x4395c2
push edi
lea eax, [ebp - 0x38]
push ebx
push eax
call fcn.00413450
add esp, 0xc
test byte [ebp - 0x34], 0x10
je 0x4395c2
mov edi, 1
mov dword [esi + 0x40c], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x4395ee
push edi
lea ecx, [ebp - 0x38]
push ebx
push ecx
call fcn.00413450
add esp, 0xc
test dword [ebp - 0x34], 0x20000000
je 0x4395ee
mov edi, 1
mov dword [esi + 0x410], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x43961a
push edi
lea edx, [ebp - 0x38]
push ebx
push edx
call fcn.00413450
add esp, 0xc
test dword [ebp - 0x2c], 0x1000000
je 0x43961a
mov edi, 1
mov dword [esi + 0x414], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x439646
push edi
lea eax, [ebp - 0x38]
push ebx
push eax
call fcn.00413450
add esp, 0xc
test dword [ebp - 0x2c], 0x2000000
je 0x439646
mov edi, 1
mov dword [esi + 0x418], edi
xor edi, edi
cmp dword [esi + 0x2d4], ebx
jb 0x439672
push edi
lea ecx, [ebp - 0x48]
push ebx
push ecx
call fcn.00413450
add esp, 0xc
test dword [ebp - 0x3c], 0x400000
je 0x439672
mov edi, 1
mov ecx, esi
mov dword [esi + 0x41c], edi
call fcn.00438b30
mov ecx, str.GenuineIntel
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4396aa
test dl, dl
je 0x4396a3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4396aa
add eax, 2
add ecx, 2
test dl, dl
jne 0x439687
xor eax, eax
or ebx, 0xffffffff
jmp 0x4396b3
sbb eax, eax
mov ebx, 0xffffffff
sbb eax, ebx
test eax, eax
je 0x439c1e
mov ecx, str.GenuineIotel
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4396e3
test dl, dl
je 0x4396df
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4396e3
add eax, 2
add ecx, 2
test dl, dl
jne 0x4396c3
xor eax, eax
jmp 0x4396e7
sbb eax, eax
sbb eax, ebx
test eax, eax
je 0x439c1e
mov ecx, str.AuthenticAMD
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439717
test dl, dl
je 0x439713
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439717
add eax, 2
add ecx, 2
test dl, dl
jne 0x4396f7
xor eax, eax
jmp 0x43971b
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x43975d
push str.AMD_Processor
lea edx, [esi + 0xcc]
push 0x80
push edx
call fcn.00531f88
push 0x1c
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.00479b00
jmp 0x439c57
mov ecx, str.HygonGenuine
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439785
test dl, dl
je 0x439781
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439785
add eax, 2
add ecx, 2
test dl, dl
jne 0x439765
xor eax, eax
jmp 0x439789
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x4397cb
push str.HygonGenuine_Processor
lea eax, [esi + 0xcc]
push 0x80
push eax
call fcn.00531f88
push 0x1c
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xa
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.00479630
jmp 0x439c57
mov ecx, str.CyrixInstead
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4397f3
test dl, dl
je 0x4397ef
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4397f3
add eax, 2
add ecx, 2
test dl, dl
jne 0x4397d3
xor eax, eax
jmp 0x4397f7
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x439839
push str.Cyrix_Processor
lea ecx, [esi + 0xcc]
push 0x80
push ecx
call fcn.00531f88
push 0x2c
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xb
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.0047b370
jmp 0x439c57
mov ecx, str.CentaurHauls
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439861
test dl, dl
je 0x43985d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439861
add eax, 2
add ecx, 2
test dl, dl
jne 0x439841
xor eax, eax
jmp 0x439865
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x4398a7
push str.VIA_Processor
lea edx, [esi + 0xcc]
push 0x80
push edx
call fcn.00531f88
push 0x18
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xc
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.00478040
jmp 0x439c57
mov ecx, str.__Shanghai
lea eax, [esi + 0x4c]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4398d0
test dl, dl
je 0x4398cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4398d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4398b0
xor eax, eax
jmp 0x4398d4
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x4398f6
push str.Zhaoxin_Processor
push 0x80
add esi, 0xcc
push esi
call fcn.00531f88
add esp, 0xc
jmp 0x439c66
mov ecx, str.GenuineTMx86
lea eax, [esi + 0x4c]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439920
test dl, dl
je 0x43991c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439920
add eax, 2
add ecx, 2
test dl, dl
jne 0x439900
xor eax, eax
jmp 0x439924
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x439966
push str.Transmeta_Processor
lea eax, [esi + 0xcc]
push 0x80
push eax
call fcn.00531f88
push 0x20
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xd
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.004778c0
jmp 0x439c57
mov ecx, str.UMC_UMC_UMC
lea eax, [esi + 0x4c]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439990
test dl, dl
je 0x43998c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439990
add eax, 2
add ecx, 2
test dl, dl
jne 0x439970
xor eax, eax
jmp 0x439994
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x4399d6
push str.UMC_Processor
lea ecx, [esi + 0xcc]
push 0x80
push ecx
call fcn.00531f88
push 0x18
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xe
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.00477710
jmp 0x439c57
mov ecx, str.NexGenDriven
lea eax, [esi + 0x4c]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439a00
test dl, dl
je 0x4399fc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439a00
add eax, 2
add ecx, 2
test dl, dl
jne 0x4399e0
xor eax, eax
jmp 0x439a04
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x439a4e
push str.NexGen_Processor
lea edx, [esi + 0xcc]
push 0x80
push edx
call fcn.00531f88
call fcn.00437c80
push 0x28
mov edi, eax
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0xf
test eax, eax
je 0x439c55
push edi
mov ecx, eax
call fcn.0047a790
jmp 0x439c57
mov ecx, str.RiseRiseRise
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439a76
test dl, dl
je 0x439a72
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439a76
add eax, 2
add ecx, 2
test dl, dl
jne 0x439a56
xor eax, eax
jmp 0x439a7a
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x439abc
push str.Rise_Processor
lea eax, [esi + 0xcc]
push 0x80
push eax
call fcn.00531f88
push 0x18
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x10
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.00477430
jmp 0x439c57
mov ecx, str.SiS_SiS_SiS
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439ae4
test dl, dl
je 0x439ae0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439ae4
add eax, 2
add ecx, 2
test dl, dl
jne 0x439ac4
xor eax, eax
jmp 0x439ae8
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x439b2a
push str.SiS_Processor
lea ecx, [esi + 0xcc]
push 0x80
push ecx
call fcn.00531f88
push 0x18
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x11
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.00477280
jmp 0x439c57
mov ecx, str.Geode_by_NSC
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439b52
test dl, dl
je 0x439b4e
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439b52
add eax, 2
add ecx, 2
test dl, dl
jne 0x439b32
xor eax, eax
jmp 0x439b56
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x439b98
push str.National_Semiconductor_Processor
lea edx, [esi + 0xcc]
push 0x80
push edx
call fcn.00531f88
push 0x2c
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x12
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.0047b370
jmp 0x439c57
mov ecx, str.Vortex86_SoC
lea eax, [esi + 0x4c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x439bc0
test dl, dl
je 0x439bbc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x439bc0
add eax, 2
add ecx, 2
test dl, dl
jne 0x439ba0
xor eax, eax
jmp 0x439bc4
sbb eax, eax
sbb eax, ebx
test eax, eax
jne 0x439bff
push str.DMP_Processor
lea eax, [esi + 0xcc]
push 0x80
push eax
call fcn.00531f88
push 0x18
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 0x13
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.00476cd0
jmp 0x439c57
lea eax, [esi + 0x4c]
push eax
push str._s_Processor
push 0x80
add esi, 0xcc
push esi
call fcn.00415470
add esp, 0x10
jmp 0x439c66
push str.Intel_Processor
lea ecx, [esi + 0xcc]
push 0x80
push ecx
call fcn.00531f88
push 0x34
call fcn.005120bc
add esp, 0x10
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], 8
test eax, eax
je 0x439c55
mov ecx, eax
call fcn.004750e0
jmp 0x439c57
xor eax, eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x439c66
push eax
mov ecx, esi
call fcn.00437bc0
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret