Function at 0x423a80
Capabilities:
Inspect section memory permissions

Disassembly:
push edx
push ecx
push ebx
push esi
push edi
push ebp
sub esp, 0x18
mov esi, eax
pushfd
pop eax
mov ecx, eax
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
cmp eax, ecx
je 0x423ab1
push ecx
popfd
xor eax, eax
cpuid
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
cmp dword [esp], 0
jne 0x423ad5
mov dword [0x4344d0], 1
mov dword [0x4344d4], 0
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
pop ecx
pop edx
ret
cmp esi, 1
je 0x423e1a
mov eax, 1
cpuid
mov ebp, edx
mov edi, edx
and ebp, 0x8000
and edi, 1
shr ebp, 0xd
test edx, 0x800000
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
lea eax, [ebp + edi*2 + 1]
lea ebp, [eax + 8]
jne 0x423b0e
mov ebp, eax
test edx, 0x1000000
jne 0x423b41
mov edi, ecx
mov dword [esp + 8], 0
and edi, 0x40000000
shr edi, 0xd
mov eax, 7
xor ecx, ecx
cpuid
add ebp, edi
mov dword [esp + 4], ecx
mov dword [esp + 0x14], ebx
jmp 0x423c0c
lea edi, [ebp + 0x10]
add ebp, 0x30
test edx, 0x2000000
jne 0x423b51
mov ebp, edi
and edx, 0x4000000
shr edx, 0x14
or ebp, edx
mov eax, ebp
mov edi, ecx
or eax, 0x80
test edi, 1
mov ecx, edi
mov edx, edi
jne 0x423b73
mov eax, ebp
mov ebp, edi
and ecx, 0x80000
and ebp, 0x200
and edx, 0x800000
shr ebp, 1
or eax, ebp
mov ebx, eax
or ebx, 0x800
test edi, 0x400000
jne 0x423b9d
mov ebx, eax
shr ecx, 0xa
or ebx, ecx
mov ecx, edi
mov eax, ebx
and ecx, 0x2000000
or eax, 0x400
test edi, 0x100000
jne 0x423bbb
mov eax, ebx
shr edx, 0xb
or eax, edx
mov ebx, eax
or ebx, 0x2000
test edi, 2
jne 0x423bd2
mov ebx, eax
shr ecx, 0xb
or ebx, ecx
mov dword [esp], ebx
mov eax, 7
xor ecx, ecx
cpuid
mov ebp, dword [esp]
or ebp, 0x20000
test edi, 0x40000000
mov dword [esp + 0x14], ebx
mov dword [esp + 4], ecx
jne 0x423bff
mov ebp, dword [esp]
and ebx, 0x20000000
shr ebx, 0x1a
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x14]
mov edi, ebp
and ebx, 0x108
or edi, 0x80000
cmp ebx, 0x108
je 0x423c28
mov edi, ebp
mov eax, 0x80000001
cpuid
and ecx, 0x20
shl ecx, 0xf
or edi, ecx
mov eax, edi
or eax, 0x200000
test byte [esp + 0x14], 0x10
mov ebp, dword [esp + 0x14]
jne 0x423c4b
mov eax, edi
and ebp, 0x800
shl ebp, 0xb
or eax, ebp
mov ebx, eax
or ebx, 0x10000000
test dword [esp + 0x14], 0x80000
mov edx, dword [esp + 0x14]
jne 0x423c6e
mov ebx, eax
and edx, 0x40000
shl edx, 0xb
or ebx, edx
test dword [esp + 0x10], 0x8000000
je 0x423dac
xor ecx, ecx
xgetbv
or ebx, 1
mov edx, eax
and edx, 6
cmp edx, 6
jne 0x423dac
mov edx, ebx
mov ebp, eax
mov ecx, dword [esp + 0x10]
or edx, 0x10000
test ecx, 0x10000000
jne 0x423cb5
mov edx, ebx
mov ebx, ecx
and ecx, 0x1000
and ebx, 0x20000000
and ebp, 0x18
shr ebx, 0xe
or edx, ebx
mov ebx, edx
or ebx, 0x800000
test byte [esp + 0x14], 0x20
jne 0x423cdc
mov ebx, edx
shl ecx, 6
or ebx, ecx
cmp ebp, 0x18
jne 0x423d02
mov ecx, dword [esp + 8]
mov edx, ecx
or edx, 0x10
or ebx, 1
test dword [esp + 0x14], 0x4000
je 0x423cfe
mov ecx, edx
mov dword [esp + 8], ecx
and eax, 0xe0
cmp eax, 0xe0
jne 0x423dac
or ebx, 1
mov ecx, ebx
mov edx, dword [esp + 0x14]
or ecx, 0x8000000
test edx, 0x10000
mov edi, edx
mov ebp, dword [esp + 8]
mov eax, ebp
jne 0x423d33
mov ecx, ebx
or eax, 4
test edx, 0x10000000
jne 0x423d40
mov eax, ebp
and edi, 0x8000000
mov ebp, edx
shr edi, 0x1b
and ebp, 0x20000
or eax, edi
mov edi, edx
mov ebx, eax
and edi, 0x80000000
or ebx, 2
test edx, 0x4000000
jne 0x423d6a
mov ebx, eax
mov eax, edx
and eax, 0x40000000
shr eax, 0x19
or ebx, eax
mov eax, ebx
or eax, 0x40
cmp edi, 0x80000000
je 0x423d85
mov eax, ebx
shl ebp, 7
or ecx, ebp
mov ebx, ecx
or ebx, 0x40000000
test edx, 0x200000
mov edx, dword [esp + 4]
jne 0x423da0
mov ebx, ecx
and edx, 2
shl edx, 6
or eax, edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc]
mov edx, eax
shr edx, 0xc
shr eax, 4
and edx, 0xf0
and eax, 0xf
add edx, eax
cmp edx, 0x1c
je 0x423dd2
cmp edx, 0x26
je 0x423dd2
cmp edx, 0x27
jne 0x423dd8
or ebx, 0x80000000
cmp esi, 1
je 0x423df6
mov eax, dword [esp + 8]
mov dword [0x4344d8], ebx
mov dword [0x4344dc], eax
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
pop ecx
pop edx
ret
mov eax, dword [esp + 8]
mov dword [0x4344d0], ebx
mov dword [0x4344d4], eax
mov dword [0x4344d8], ebx
mov dword [0x4344dc], eax
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
pop ecx
pop edx
ret
cmp dword [esp + 4], 0x756e6547
jne 0x423ab7
cmp dword [esp + 0xc], 0x49656e69
jne 0x423ab7
cmp dword [esp + 8], 0x6c65746e
jne 0x423ab7
jmp 0x423ade