Function at 0x4ce350
Capabilities:
Inspect section memory permissions

Disassembly:
push ebx
push esi
push edi
push ebp
sub esp, 0x10
pushfd
pop eax
mov ecx, eax
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
cmp eax, ecx
je 0x4ce37d
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 0x4ce39f
mov dword [0x517c00], 1
mov dword [0x517c04], 0
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
ret
cmp dword [esp + 0x24], 1
je 0x4ce682
mov eax, 1
cpuid
mov ebp, edx
mov edi, edx
and ebp, 1
and edi, 0x8000
mov dword [esp], eax
mov esi, ecx
shr edi, 0xd
mov dword [esp + 4], 0
lea eax, [ebp + ebp + 1]
or eax, edi
mov ecx, eax
or ecx, 8
test edx, 0x800000
jne 0x4ce3e3
mov ecx, eax
mov dword [esp + 8], ecx
test edx, 0x1000000
jne 0x4ce3f6
xor edx, edx
jmp 0x4ce4b1
mov edi, ecx
mov ebx, esi
or edi, 0x10
and ebx, 0x80000
mov ebp, edi
or ebp, 0x20
test edx, 0x2000000
jne 0x4ce412
mov ebp, edi
and edx, 0x4000000
mov edi, esi
shr edx, 0x14
and edi, 0x200
or ebp, edx
mov edx, esi
mov eax, ebp
and edx, 0x800000
or eax, 0x80
test esi, 1
jne 0x4ce43e
mov eax, ebp
shr edi, 1
or eax, edi
mov ecx, eax
or ecx, 0x800
test esi, 0x400000
jne 0x4ce454
mov ecx, eax
shr ebx, 0xa
mov eax, esi
or ecx, ebx
and eax, 0x2000000
mov edi, ecx
or edi, 0x400
test esi, 0x100000
jne 0x4ce472
mov edi, ecx
shr edx, 0xb
or edi, edx
mov ebx, edi
or ebx, 0x2000
test esi, 2
jne 0x4ce489
mov ebx, edi
shr eax, 0xb
or ebx, eax
mov dword [esp + 8], ebx
mov eax, 7
xor ecx, ecx
cpuid
mov edi, ebx
mov edx, 1
mov ebp, edi
and ebp, 0x20000000
shr ebp, 0x1a
mov dword [esp + 4], ebp
mov eax, dword [esp + 8]
mov ebp, eax
or ebp, 0x20000
test esi, 0x40000000
jne 0x4ce4c7
mov ebp, eax
test edx, edx
jne 0x4ce4d6
mov eax, 7
xor ecx, ecx
cpuid
mov edi, ebx
mov ebx, edi
mov eax, 0x80000
and ebx, 0x108
cmp ebx, 0x108
je 0x4ce4f0
mov eax, 0
or ebp, eax
mov eax, 0x80000001
cpuid
mov ebx, ebp
mov eax, edi
or ebx, 0x100000
test cl, 0x20
jne 0x4ce50a
mov ebx, ebp
mov ebp, edi
and eax, 0x80000
and ebp, 0x10
shl ebp, 0x11
or ebx, ebp
mov edx, ebx
or edx, 0x400000
test edi, 0x800
jne 0x4ce52b
mov edx, ebx
shl eax, 9
or edx, eax
mov ebx, edx
or ebx, 0x20000000
test edi, 0x40000
jne 0x4ce542
mov ebx, edx
test esi, 0x8000000
je 0x4ce617
xor ecx, ecx
xgetbv
or ebx, 1
mov edx, eax
and edx, 6
cmp edx, 6
jne 0x4ce617
mov edx, ebx
mov ecx, eax
or edx, 0x10000
test esi, 0x10000000
jne 0x4ce578
mov edx, ebx
mov ebx, esi
and esi, 0x1000
and ebx, 0x20000000
and ecx, 0x18
shr ebx, 0xe
or edx, ebx
mov ebx, edx
or ebx, 0x800000
test edi, 0x20
jne 0x4ce5a0
mov ebx, edx
shl esi, 6
or ebx, esi
cmp ecx, 0x18
jne 0x4ce5c4
mov ecx, dword [esp + 4]
mov edx, ecx
or edx, 0x10
test edi, 0x4000
je 0x4ce5bd
mov ecx, edx
mov dword [esp + 4], ecx
or ebx, 1
and eax, 0xe0
cmp eax, 0xe0
jne 0x4ce617
or ebx, 1
mov ecx, edi
mov eax, ebx
and ecx, 0x8000000
or eax, 0x8000000
test edi, 0x10000
mov edx, dword [esp + 4]
mov ebp, edx
je 0x4ce5f2
mov ebx, eax
or ebp, 4
test edi, 0x10000000
jne 0x4ce5ff
mov ebp, edx
shr ecx, 0x1b
or ebp, ecx
mov esi, ebp
or esi, 2
test edi, 0x4000000
jne 0x4ce613
mov esi, ebp
mov dword [esp + 4], esi
mov eax, dword [esp]
mov edx, eax
shr edx, 0xc
shr eax, 4
and edx, 0xf0
and eax, 0xf
add edx, eax
cmp edx, 0x1c
je 0x4ce63c
cmp edx, 0x26
je 0x4ce63c
cmp edx, 0x27
jne 0x4ce642
or ebx, 0x80000000
cmp dword [esp + 0x24], 1
je 0x4ce660
mov eax, dword [esp + 4]
mov dword [0x517c08], ebx
mov dword [0x517c0c], eax
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
ret
mov eax, dword [esp + 4]
mov dword [0x517c00], ebx
mov dword [0x517c04], eax
mov dword [0x517c08], ebx
mov dword [0x517c0c], eax
add esp, 0x10
pop ebp
pop edi
pop esi
pop ebx
ret
cmp dword [esp + 4], 0x756e6547
jne 0x4ce383
cmp dword [esp + 0xc], 0x49656e69
jne 0x4ce383
cmp dword [esp + 8], 0x6c65746e
jne 0x4ce383
jmp 0x4ce3aa