Function at 0x42cb60
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push edi
mov edi, eax
xor eax, eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
test edi, edi
je 0x42cb81
mov dword [edi], eax
call fcn.0042d5b0
test eax, eax
je 0x42d081
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x2c]
push edx
lea eax, [ebp - 8]
push eax
push 0
call fcn.0042d540
add esp, 0x14
cmp dword [ebp - 8], 0
je 0x42d081
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 8]
push ecx
push 1
call fcn.0042d540
mov eax, dword [ebp - 0x10]
add esp, 0x14
test eax, 0x800000
je 0x42d081
push ebx
mov ebx, 8
push esi
mov dword [ebp - 4], ebx
test eax, 0x2000000
je 0x42cbf5
mov dword [ebp - 4], 0x38
mov ebx, dword [ebp - 4]
test eax, 0x4000000
je 0x42cc02
or ebx, 0x40
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0xc]
test al, 1
je 0x42cc12
or ebx, 0x200
mov dword [ebp - 4], ebx
test eax, 0x200
je 0x42cc22
or ebx, 0x400
mov dword [ebp - 4], ebx
test eax, 0x80000
je 0x42cc32
or ebx, 0x2000
mov dword [ebp - 4], ebx
test eax, 0x100000
je 0x42cc42
or ebx, 0x4000
mov dword [ebp - 4], ebx
and eax, 0x18000000
cmp eax, 0x18000000
jne 0x42cc86
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 8]
push eax
push 0
call fcn.0042d580
mov ecx, dword [ebp - 8]
and ecx, 6
add esp, 0xc
cmp cl, 6
jne 0x42cc86
or ebx, 0x400000
test dword [ebp - 0xc], 0x1000
mov dword [ebp - 4], ebx
je 0x42cc86
or ebx, 0x4000000
mov dword [ebp - 4], ebx
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 8]
push edx
push 7
call fcn.0042d540
mov eax, dword [ebp - 0x14]
add esp, 0x14
test ebx, 0x400000
je 0x42ccb8
test al, 0x20
je 0x42ccb8
or ebx, 0x2000000
mov dword [ebp - 4], ebx
test al, 8
je 0x42ccd5
or ebx, 0x8000000
mov dword [ebp - 4], ebx
test eax, 0x100
je 0x42ccd5
or ebx, 0x10000000
mov dword [ebp - 4], ebx
test ebx, 0x400
je 0x42cce6
or ebx, 0x100
mov dword [ebp - 4], ebx
test ebx, 0x2000
je 0x42ccf7
or ebx, 0x800
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 8]
push eax
push 0x80000000
call fcn.0042d540
mov esi, dword [ebp - 8]
add esp, 0x14
mov ecx, str.AuthenticAMD
lea eax, [ebp - 0x2c]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42cd40
test dl, dl
je 0x42cd3c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42cd40
add eax, 2
add ecx, 2
test dl, dl
jne 0x42cd20
xor eax, eax
jmp 0x42cd45
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ce2b
test edi, edi
je 0x42cd57
mov dword [edi], 2
test eax, eax
jne 0x42ce2b
cmp esi, 0x80000001
jb 0x42ce2b
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 8]
push ecx
or ebx, 0x100000
push 0x80000001
mov dword [ebp - 4], ebx
call fcn.0042d540
mov ecx, dword [ebp - 0x10]
add esp, 0x14
test ecx, 0x400000
je 0x42cda2
or ebx, 0x10
mov dword [ebp - 4], ebx
test bl, 0x40
je 0x42ce0d
mov eax, dword [ebp - 0xc]
test al, 0x40
je 0x42cdbf
and ebx, 0xffefffff
or ebx, 0x10900
mov dword [ebp - 4], ebx
jmp 0x42cdc8
or ebx, 0x80
mov dword [ebp - 4], ebx
test al, al
jns 0x42cdd5
or ebx, 0x8000
mov dword [ebp - 4], ebx
test ebx, 0x400000
je 0x42cdfd
test eax, 0x800
je 0x42cded
or ebx, 0x800000
mov dword [ebp - 4], ebx
test eax, 0x10000
je 0x42cdfd
or ebx, 0x1000000
mov dword [ebp - 4], ebx
test eax, 0x200000
je 0x42ce0d
or ebx, 0x20000000
mov dword [ebp - 4], ebx
test ecx, ecx
jns 0x42ce1a
or ebx, 0x40000000
mov dword [ebp - 4], ebx
test ecx, 0x40000000
je 0x42ce2b
or ebx, 0x80000000
mov dword [ebp - 4], ebx
mov ecx, str.GenuineIntel
lea eax, [ebp - 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ce53
test dl, dl
je 0x42ce4f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ce53
add eax, 2
add ecx, 2
test dl, dl
jne 0x42ce33
xor eax, eax
jmp 0x42ce58
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42cee6
test edi, edi
je 0x42ce6a
mov dword [edi], 1
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0xc]
push eax
lea ecx, [ebp - 0x14]
push ecx
lea edx, [ebp - 8]
push edx
push 1
call fcn.0042d540
mov eax, dword [ebp - 8]
mov ecx, eax
mov edx, eax
shr edx, 4
and edx, 0xf
shr ecx, 0xc
and ecx, 0xf0
add ecx, edx
mov edx, eax
shr edx, 0x14
shr eax, 8
and edx, 0xff
and eax, 0xf
add edx, eax
add esp, 0x14
cmp edx, 6
jne 0x42cee6
cmp ecx, 9
je 0x42cedd
cmp ecx, 0xd
je 0x42cedd
cmp ecx, 0xe
je 0x42cedd
cmp ecx, 0x1c
jne 0x42ced0
or ebx, 0x300000
jmp 0x42cee3
cmp ecx, 0x17
jl 0x42cee6
or ebx, 0x800
jmp 0x42cee3
and ebx, 0xfffffdbf
mov dword [ebp - 4], ebx
mov ecx, str.GenuineIntel
lea eax, [ebp - 0x2c]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42cf10
test dl, dl
je 0x42cf0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42cf10
add eax, 2
add ecx, 2
test dl, dl
jne 0x42cef0
xor eax, eax
jmp 0x42cf15
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42cf4e
mov ecx, str.CyrixInstead
lea eax, [ebp - 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42cf41
test dl, dl
je 0x42cf3d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42cf41
add eax, 2
add ecx, 2
test dl, dl
jne 0x42cf21
xor eax, eax
jmp 0x42cf46
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42d078
test ebx, 0x4000
jne 0x42d078
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 0x14]
push edx
lea eax, [ebp - 8]
push eax
push 1
call fcn.0042d540
mov edi, dword [ebp - 0x14]
shr edi, 5
add esp, 0x14
and edi, 0x7f8
jne 0x42d05f
cmp esi, 0x80000006
jb 0x42cfba
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0xc]
push edx
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 8]
push ecx
push 0x80000006
call fcn.0042d540
mov edi, dword [ebp - 0xc]
add esp, 0x14
and edi, 0xff
jne 0x42d05f
mov dword [ebp - 0x1c], 0
lea edx, [ebp - 0x30]
push edx
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp - 0x38]
push ecx
lea edx, [ebp - 0x3c]
push edx
push 2
call fcn.0042d540
mov eax, dword [ebp - 0x3c]
mov ebx, eax
add esp, 0x14
and ebx, 0xff
and eax, 0xffffff00
mov dword [ebp - 0x3c], eax
lea esi, [ebp - 0x3c]
mov dword [ebp - 0x18], 4
mov eax, dword [esi]
test eax, eax
js 0x42d045
je 0x42d045
mov eax, dword [esi]
and eax, 0xff
push eax
push str._n_fABCDE
call fcn.00434a20
add esp, 8
test eax, eax
je 0x42d01e
mov edi, 0x20
mov ecx, dword [esi]
and ecx, 0xff
push ecx
push str.____FGI_fghxyz
call fcn.00434a20
add esp, 8
test eax, eax
je 0x42d03d
mov edi, 0x40
shr dword [esi], 8
cmp dword [esi], 0
jne 0x42d000
add esi, 4
dec dword [ebp - 0x18]
jne 0x42cff8
mov eax, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x1c], eax
cmp eax, ebx
jl 0x42cfc1
mov ebx, dword [ebp - 4]
cmp edi, 0x20
jne 0x42d070
or ebx, 1
pop esi
mov eax, ebx
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
cmp edi, 0x40
jne 0x42d078
or ebx, 2
pop esi
mov eax, ebx
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret