Function at 0x14003ad50
Capabilities:
Inspect section memory permissions

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
push rax
mov r12, rcx
xor eax, eax
mov rsi, rbx
cpuid
xchg rbx, rsi
mov r11d, eax
mov ecx, 7
lea rax, str.generic
test r11d, r11d
je case.0x14003b14a.4
mov r9d, esi
mov eax, 1
mov rsi, rbx
cpuid
xchg rbx, rsi
mov r13d, eax
shr r13d, 8
and r13d, 0xf
mov r15d, eax
shr r15d, 4
and r15d, 0xf
cmp r13d, 6
je 0x14003adc1
cmp r13d, 0xf
jne 0x14003adcc
mov ebp, eax
shr ebp, 0x14
movzx r13d, bpl
add r13d, 0xf
shr eax, 0xc
and eax, 0xf0
or r15d, eax
mov eax, edx
shr eax, 0xf
and eax, 1
shr edx, 0x16
mov ebp, edx
and ebp, 2
or ebp, eax
mov eax, edx
and eax, 8
or eax, ebp
and edx, 0x10
or edx, eax
mov eax, ecx
shl eax, 5
and eax, 0x20
or eax, edx
mov edx, ecx
and edx, 2
shl edx, 0x12
or edx, eax
mov eax, ecx
shr eax, 3
and eax, 0x40
or eax, edx
lea edx, [rcx*4]
and edx, 0x4000
mov ebp, ecx
shr ebp, 0xc
mov ebx, ebp
and ebx, 0x80
or ebx, edx
and ebp, 0x100
or ebp, ebx
mov edx, ecx
shr edx, 0x15
and edx, 4
or edx, ebp
mov edi, ecx
shr edi, 7
and edi, 0x40000
or edi, edx
or edi, eax
mov r8d, ecx
shl r8d, 6
and ecx, 0x18000000
mov r14b, 1
xor r10d, r10d
xor ebx, ebx
cmp ecx, 0x18000000
jne 0x14003ae87
xor ecx, ecx
xgetbv
mov ecx, eax
and ecx, 6
cmp ecx, 6
jne 0x14003ae87
and eax, 0xe6
cmp eax, 0xe6
sete bl
or edi, 0x200
xor r14d, r14d
and r8d, 0x10000000
cmp r11d, 7
jb 0x14003b092
mov eax, 7
xor ecx, ecx
mov rsi, rbx
cpuid
xchg rbx, rsi
mov qword [rsp], r12
mov r12d, ecx
mov r11d, edx
mov r10d, esi
mov eax, esi
and eax, 8
shl eax, 0xd
or eax, edi
mov edi, eax
or edi, 0x400
test r10b, 0x20
cmove edi, eax
mov ecx, esi
shr ecx, 0xa
and ecx, 0x200
or ecx, r8d
mov edx, esi
shr edx, 9
and edx, 0x4000
or edx, ecx
mov ecx, edx
or ecx, 2
test r12d, 0x400
cmove ecx, edx
test r14b, r14b
cmovne edi, eax
cmovne ecx, edx
mov eax, ecx
or eax, 4
test r12d, 0x800
cmove eax, ecx
test bl, bl
cmove eax, ecx
mov ecx, eax
or ecx, 8
test r12d, 0x1000
cmove ecx, eax
test bl, bl
cmove ecx, eax
mov ebp, ecx
or ebp, 0x20
test r11d, 0x100
cmove ebp, ecx
test bl, bl
cmove ebp, ecx
mov eax, 7
mov ecx, 1
mov rsi, rbx
cpuid
xchg rbx, rsi
mov r8d, ebp
or r8d, 0x10
test al, 0x20
cmove r8d, ebp
test bl, bl
cmove r8d, ebp
mov eax, r10d
shl eax, 9
and eax, 0x20000
or eax, edi
mov ecx, eax
or ecx, 0x8000
test r10d, 0x10000
cmove ecx, eax
test bl, bl
cmove ecx, eax
mov eax, ecx
or eax, 0x400000
test r10d, 0x20000
cmove eax, ecx
test bl, bl
cmove eax, ecx
mov ecx, eax
or ecx, 0x8000000
test r10d, 0x200000
cmove ecx, eax
test bl, bl
cmove ecx, eax
mov eax, ecx
or eax, 0x2000000
test r10d, 0x4000000
cmove eax, ecx
test bl, bl
cmove eax, ecx
mov ecx, eax
or ecx, 0x1000000
test r10d, 0x8000000
cmove ecx, eax
test bl, bl
cmove ecx, eax
mov eax, ecx
or eax, 0x800000
test r10d, 0x10000000
cmove eax, ecx
test bl, bl
cmove eax, ecx
mov ecx, eax
or ecx, 0x200000
test r10d, 0x40000000
cmove ecx, eax
test bl, bl
cmove ecx, eax
mov eax, ecx
or eax, 0x100000
test r10d, r10d
cmovns eax, ecx
test bl, bl
cmove eax, ecx
mov ecx, eax
or ecx, 0x4000000
test r12b, 2
cmove ecx, eax
test bl, bl
cmove ecx, eax
mov eax, ecx
or eax, 0x80000000
test r12b, 0x40
cmove eax, ecx
test bl, bl
cmove eax, ecx
mov ecx, eax
or ecx, 0x40000000
test r12d, 0x4000
mov r12, qword [rsp]
cmove ecx, eax
test bl, bl
cmove ecx, eax
mov eax, ecx
or eax, 0x10000000
test r11b, 4
cmove eax, ecx
test bl, bl
cmove eax, ecx
mov edi, eax
or edi, 0x20000000
test r11b, 8
cmove edi, eax
test bl, bl
cmove edi, eax
shr r10d, 0x11
and r10d, 0x1000
mov eax, 0x80000000
mov rsi, rbx
cpuid
xchg rbx, rsi
cmp eax, 0x80000001
jb 0x14003b0e5
mov eax, 0x80000001
mov rsi, rbx
cpuid
xchg rbx, rsi
mov eax, ecx
and eax, 0x40
shl eax, 5
or eax, edi
lea ebp, [rcx*4]
and ebp, 0x2000
shr ecx, 4
and ecx, 0x1000
or ecx, ebp
or ecx, eax
shr edx, 0x15
and edx, 0x100
or r8d, edx
mov edi, ecx
cmp r9d, 0x68747541
je 0x14003b126
cmp r9d, 0x756e6547
jne case.0x14003b14a.7
add r13d, 0xfffffffd
cmp r13d, 0xc
ja case.0x14003b14a.7
mov ecx, 4
lea rax, str.i386
lea rdx, [0x14003b738]
movsxd rbp, dword [rdx + r13*4]
add rbp, rdx
jmp rbp
lea rax, str.i486
jmp case.0x14003b14a.4
add r13d, 0xfffffffc
cmp r13d, 0x15
ja case.0x14003b14a.7
mov ecx, 4
lea rax, str.i486
lea rdx, [0x14003b6e0]
movsxd rbp, dword [rdx + r13*4]
add rbp, rdx
jmp rbp
add r15d, 0xfffffffa
cmp r15d, 8
jae 0x14003b31f
movsxd rcx, r15d
lea rax, [0x14016fb48]
mov rax, qword [rax + rcx*8]
lea rdx, [0x14016fb88]
mov rcx, qword [rdx + rcx*8]
jmp case.0x14003b14a.4
lea rax, str.generic
mov ecx, 7
mov qword [r12], rax
mov qword [r12 + 8], rcx
mov rax, r12
add rsp, 8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
and edi, 2
mov ecx, edi
shr ecx, 1
test edi, edi
lea rdx, str.pentium
lea rax, str.pentium_mmx
cmove rax, rdx
lea rcx, [rcx*4 + 7]
jmp case.0x14003b14a.4
mov ecx, 5
lea rax, str.core2
add r15d, 0xfffffff1
cmp r15d, 0x97
ja case.0x14003b1ee.16
lea rdx, [0x14003b76c]
movsxd rbp, dword [rdx + r15*4]
add rbp, rdx
jmp rbp
mov ecx, 0xa
lea rax, str.silvermont
jmp case.0x14003b14a.4
test r8d, 0x100
jne 0x14003b30e
test dil, 0x20
lea rcx, str.pentium4
lea rax, str.prescott
cmove rax, rcx
mov ecx, 8
jmp case.0x14003b14a.4
and edi, 8
mov ecx, edi
shr ecx, 3
test edi, edi
lea rdx, str.athlon
lea rax, str.athlon_xp
cmove rax, rdx
lea rcx, [rcx + rcx*2]
add rcx, 6
jmp case.0x14003b14a.4
mov ecx, 6
lea rax, str.btver1
jmp case.0x14003b14a.4
mov eax, r15d
and eax, 0xffffffe0
mov ecx, 6
cmp eax, 0x60
jne 0x14003b32b
lea rax, str.bdver4
jmp case.0x14003b14a.4
mov ecx, 6
lea rax, str.btver2
jmp case.0x14003b14a.4
and edi, 0x20
mov ecx, edi
shr ecx, 5
test edi, edi
lea rdx, [0x14016fafb]
lea rax, str.k8_sse3
cmove rax, rdx
lea rcx, [rcx + rcx*4]
add rcx, 2
jmp case.0x14003b14a.4
mov ecx, 8
lea rax, str.amdfam10
jmp case.0x14003b14a.4
mov eax, r15d
and eax, 0xfffffff0
cmp eax, 0x30
lea rcx, str.znver2
lea rax, str.znver1
cmove rax, rcx
cmp r15d, 0x71
cmove rax, rcx
mov ecx, 6
jmp case.0x14003b14a.4
mov ecx, 6
lea rax, str.znver3
jmp case.0x14003b14a.4
mov ecx, 6
lea rax, str.nocona
jmp case.0x14003b14a.4
lea rax, str.pentium
jmp 0x14003b17c
mov eax, r15d
and eax, 0xfffffff0
cmp eax, 0x30
jne 0x14003b342
lea rax, str.bdver3
jmp case.0x14003b14a.4
cmp eax, 0x10
lea rdx, str.bdver2
lea rax, str.bdver1
cmove rax, rdx
cmp r15d, 2
cmove rax, rdx
jmp case.0x14003b14a.4
lea rax, str.skylake
jmp 0x14003b17c
lea rax, str.bonnell
jmp 0x14003b17c
lea rax, str.nehalem
jmp 0x14003b17c
mov ecx, 9
lea rax, str.broadwell
jmp case.0x14003b14a.4
mov ecx, 8
lea rax, str.westmere
jmp case.0x14003b14a.4
mov ecx, 0xb
lea rax, str.sandybridge
jmp case.0x14003b14a.4
mov ecx, 9
lea rax, str.ivybridge
jmp case.0x14003b14a.4
mov ecx, 8
lea rax, str.goldmont
jmp case.0x14003b14a.4
mov ecx, 0xe
lea rax, str.icelake_server
jmp case.0x14003b14a.4
mov ecx, 0xe
lea rax, str.icelake_client
jmp case.0x14003b14a.4
test r8b, 0x20
jne 0x14003b594
test edi, edi
js 0x14003b5b6
test edi, 0x4000000
jne 0x14003b5c7
test r8b, 0x10
jne 0x14003b5d8
test r8b, 4
jne 0x14003b5e9
test edi, 0x100000
jne 0x14003b5fa
test edi, 0x1000000
jne case.0x14003b1ee.87
test r8d, 0x4000
jne 0x14003b60b
test r8d, 0x200
jne 0x14003b632
test edi, 0x400
jne case.0x14003b1ee.60
test edi, 0x200
jne 0x14003b643
test edi, 0x100
jne 0x14003b654
test dil, dil
js case.0x14003b1ee.23
test dil, 0x40
jne 0x14003b683
test r8d, 0x100
jne case.0x14003b14a.4
test dil, 0x20
jne 0x14003b6b1
test dil, 0x10
jne 0x14003b6bd
test dil, 8
jne 0x14003b6ce
xor ecx, ecx
test dil, 2
sete cl
lea rdx, str.pentiumpro
lea rax, str.pentium2
cmove rax, rdx
add rcx, rcx
add rcx, 8
jmp case.0x14003b14a.4
lea rax, str.haswell
jmp 0x14003b17c
mov ecx, 6
lea rax, str.penryn
jmp case.0x14003b14a.4
mov ecx, 3
lea rax, [0x14016fa77]
jmp case.0x14003b14a.4
test r8b, 0x10
jne 0x14003b5a5
xor ecx, ecx
test r8b, 4
sete cl
lea rdx, str.skylake_avx512
lea rax, str.cascadelake
cmove rax, rdx
lea rcx, [rcx + rcx*2]
add rcx, 0xb
jmp case.0x14003b14a.4
mov ecx, 0xa
lea rax, str.cannonlake
jmp case.0x14003b14a.4
mov ecx, 0xd
lea rax, str.goldmont_plus
jmp case.0x14003b14a.4
mov ecx, 3
lea rax, [0x14016fa7b]
jmp case.0x14003b14a.4
lea rax, str.tremont
jmp 0x14003b17c
mov ecx, 0xe
lea rax, str.sapphirerapids
jmp case.0x14003b14a.4
lea rax, str.tigerlake
mov ecx, 9
jmp case.0x14003b14a.4
mov ecx, 0xa
lea rax, str.cooperlake
jmp case.0x14003b14a.4
lea rax, str.icelake_client
mov ecx, 0xe
jmp case.0x14003b14a.4
lea rax, str.cannonlake
mov ecx, 0xa
jmp case.0x14003b14a.4
lea rax, str.cooperlake
mov ecx, 0xa
jmp case.0x14003b14a.4
lea rax, str.cascadelake
mov ecx, 0xb
jmp case.0x14003b14a.4
lea rax, str.skylake_avx512
mov ecx, 0xe
jmp case.0x14003b14a.4
xor edx, edx
test r10d, r10d
sete dl
lea rcx, str.skylake
lea rax, str.goldmont
cmove rax, rcx
mov ecx, 8
sub rcx, rdx
jmp case.0x14003b14a.4
lea rax, str.broadwell
mov ecx, 9
jmp case.0x14003b14a.4
lea rax, str.sandybridge
mov ecx, 0xb
jmp case.0x14003b14a.4
and r8d, 0x10000000
mov ecx, r8d
shr ecx, 0x1c
test r8d, r8d
lea rdx, str.nehalem
lea rax, str.silvermont
cmove rax, rdx
lea rcx, [rcx + rcx*2]
add rcx, 7
jmp case.0x14003b14a.4
and r8d, 0x10000000
mov ecx, r8d
shr ecx, 0x1c
test r8d, r8d
lea rdx, str.core2
lea rax, str.bonnell
cmove rax, rdx
add rcx, rcx
add rcx, 5
jmp case.0x14003b14a.4
lea rax, str.yonah
jmp case.0x14003b14a.4
lea rax, str.pentium_m
mov ecx, 9
jmp case.0x14003b14a.4
mov ecx, 8
lea rax, str.pentium3
jmp case.0x14003b14a.4