Function at 0x40a220
Capabilities:
Inspect section memory permissions

Disassembly:
mov eax, 1
jmp 0x40a230
push edx
push ecx
push ebx
push esi
push edi
push ebp
sub esp, 0xb8
mov edi, eax
movups xmmword [esp + 0xa4], xmm7
movups xmmword [esp + 0x94], xmm6
movups xmmword [esp + 0x84], xmm5
movups xmmword [esp + 0x74], xmm4
movups xmmword [esp + 0x64], xmm3
movups xmmword [esp + 0x54], xmm2
movups xmmword [esp + 0x44], xmm1
movups xmmword [esp + 0x34], xmm0
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov ecx, 1
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
pushfd
pop eax
mov ecx, eax
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
cmp eax, ecx
je 0x40a2d1
push ecx
popfd
xor eax, eax
cpuid
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xb4], edx
cmp dword [esp + 8], 0
jne 0x40a326
mov eax, 0x449838
lea ecx, [esp + 0x14]
call fcn.004098d0
movups xmm0, xmmword [esp + 0x34]
movups xmm1, xmmword [esp + 0x44]
movups xmm2, xmmword [esp + 0x54]
movups xmm3, xmmword [esp + 0x64]
movups xmm4, xmmword [esp + 0x74]
movups xmm5, xmmword [esp + 0x84]
movups xmm6, xmmword [esp + 0x94]
movups xmm7, xmmword [esp + 0xa4]
xor eax, eax
add esp, 0xb8
pop ebp
pop edi
pop esi
pop ebx
pop ecx
pop edx
ret
cmp edi, 1
je 0x40ad58
mov eax, 1
cpuid
mov dword [esp + 0x10], ecx
test dl, 1
je 0x40a355
mov ecx, 2
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test edx, 0x8000
je 0x40a373
mov ecx, 3
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test edx, 0x800000
je 0x40a391
mov ecx, 4
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test edx, 0x1000000
jne 0x40a3ae
test dword [esp + 0x10], 0x40000000
je 0x40a552
xor edx, edx
jmp 0x40a538
mov ecx, 5
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test edx, 0x2000000
je 0x40a3e2
mov ecx, 6
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test edx, 0x4000000
je 0x40a400
mov ecx, 7
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test byte [esp + 0x10], 1
je 0x40a41d
mov ecx, 8
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x200
je 0x40a43d
mov ecx, 9
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x400000
je 0x40a45d
mov ecx, 0xc
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x80000
je 0x40a47d
mov ecx, 0xa
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x100000
je 0x40a49d
mov ecx, 0xb
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x800000
je 0x40a4bd
mov ecx, 0xd
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test byte [esp + 0x10], 2
je 0x40a4da
mov ecx, 0xe
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x2000000
je 0x40a4fa
mov ecx, 0xf
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, 7
xor ecx, ecx
cpuid
mov esi, ebx
mov ebp, ecx
mov dword [esp + 0xc], edx
test esi, 0x20000000
je 0x40a529
mov ecx, 0x24
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x40000000
je 0x40a563
mov edx, 1
mov ecx, 0x12
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test edx, edx
jne 0x40a563
mov eax, 7
xor ecx, ecx
cpuid
mov dword [esp + 0xc], edx
mov ebp, ecx
mov esi, ebx
mov eax, esi
and eax, 0x108
cmp eax, 0x108
jne 0x40a587
mov ecx, 0x14
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 4
je 0x40a5a5
mov ecx, 0x36
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x10
je 0x40a5c3
mov ecx, 0x16
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x800
je 0x40a5e1
mov ecx, 0x17
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x80000
je 0x40a5ff
mov ecx, 0x1d
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x40000
je 0x40a61d
mov ecx, 0x1e
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x1000000
je 0x40a63b
mov ecx, 0x32
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, 0x80000001
cpuid
test cl, 0x20
je 0x40a65d
mov ecx, 0x15
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, 0x80000008
cpuid
test ebx, 0x200
je 0x40a682
mov ecx, 0x37
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x20
je 0x40a6a0
mov ecx, 0x3e
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x80
je 0x40a6be
mov ecx, 0x35
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x100
je 0x40a6dc
mov ecx, 0x2e
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x400000
je 0x40a6fa
mov ecx, 0x33
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x1000000
je 0x40a718
mov ecx, 0x3b
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x8000000
je 0x40a736
mov ecx, 0x3c
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x10000000
je 0x40a754
mov ecx, 0x3d
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x20000000
je 0x40a772
mov ecx, 0x40
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0xc], 0x100000
je 0x40a792
mov ecx, 0x34
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0xc], 0x40000
je 0x40a7b2
mov ecx, 0x38
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, 0x14
xor ecx, ecx
cpuid
test bl, 0x10
je 0x40a7d6
mov ecx, 0x1b
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x800000
je 0x40a833
mov ecx, 1
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, 0x19
xor ecx, ecx
cpuid
test bl, 1
je 0x40a818
mov ecx, 0x45
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test bl, 4
je 0x40a833
mov ecx, 0x46
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x8000000
je 0x40aca0
mov ecx, 1
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
xor ecx, ecx
xgetbv
mov dword [esp + 8], eax
and eax, 0x60000
cmp eax, 0x60000
jne 0x40a8e2
mov ecx, 1
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0xc], 0x1000000
je 0x40a8a2
mov ecx, 0x42
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0xc], 0x2000000
je 0x40a8c2
mov ecx, 0x43
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0xc], 0x400000
je 0x40a8e2
mov ecx, 0x44
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, dword [esp + 8]
and eax, 6
cmp eax, 6
jne 0x40aca0
mov ecx, 1
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x10000000
je 0x40a964
mov ecx, 0x10
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x200
je 0x40a946
mov ecx, 0x2f
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x400
je 0x40a964
mov ecx, 0x30
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x20000000
je 0x40a984
mov ecx, 0x11
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x20
je 0x40a9a2
mov ecx, 0x18
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0x10], 0x1000
je 0x40a9c2
mov ecx, 0x13
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, dword [esp + 8]
and eax, 0x18
cmp eax, 0x18
jne 0x40aa02
mov ecx, 1
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x4000
je 0x40aa02
mov ecx, 0x25
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, 7
mov ecx, 1
cpuid
mov edx, eax
test dl, 0x10
je 0x40aa2b
mov ecx, 0x41
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, dword [esp + 8]
and eax, 0xe0
cmp eax, 0xe0
jne 0x40aca0
mov ecx, 1
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x10000
je 0x40aa73
mov ecx, 0x19
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x10000000
je 0x40aa91
mov ecx, 0x23
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x8000000
je 0x40aaaf
mov ecx, 0x21
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x4000000
je 0x40aacd
mov ecx, 0x22
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x20000
je 0x40aaeb
mov ecx, 0x1a
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x40000000
je 0x40ab09
mov ecx, 0x26
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
mov eax, esi
and eax, 0x80000000
cmp eax, 0x80000000
jne 0x40ab2d
mov ecx, 0x27
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test esi, 0x200000
je 0x40ab4b
mov ecx, 0x1f
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 2
je 0x40ab69
mov ecx, 0x28
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x4000
je 0x40ab87
mov ecx, 0x2b
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test byte [esp + 0xc], 4
je 0x40aba4
mov ecx, 0x2a
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test byte [esp + 0xc], 8
je 0x40abc1
mov ecx, 0x29
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x1000
je 0x40abdf
mov ecx, 0x2c
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x40
je 0x40abf9
mov ecx, 0x2d
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test ebp, 0x800
je 0x40ac13
mov ecx, 0x31
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dl, 0x20
je 0x40ac2a
mov ecx, 0x3f
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0xc], 0x800000
je 0x40ac46
mov ecx, 0x3a
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
jne 0x40ac62
test dword [esp + 0xc], 0x100
je 0x40aca0
mov ecx, 0x39
lea eax, [esp + 0x14]
call fcn.00409900
test eax, eax
je 0x40aca0
movups xmm0, xmmword [esp + 0x34]
movups xmm1, xmmword [esp + 0x44]
movups xmm2, xmmword [esp + 0x54]
movups xmm3, xmmword [esp + 0x64]
movups xmm4, xmmword [esp + 0x74]
movups xmm5, xmmword [esp + 0x84]
movups xmm6, xmmword [esp + 0x94]
movups xmm7, xmmword [esp + 0xa4]
add esp, 0xb8
pop ebp
pop edi
pop esi
pop ebx
pop ecx
pop edx
ret
push str.INTEL_ISA_DISABLE
call fcn.0041e70e
mov ebx, eax
add esp, 4
call fcn.0041b2be
mov dword [eax], 0
test ebx, ebx
je 0x40acf5
mov eax, ebx
lea edx, [esp + 0x24]
call fcn.00409750
test eax, eax
jle 0x40acf5
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
not eax
mov ecx, dword [esp + 0x2c]
not edx
mov ebx, dword [esp + 0x30]
not ecx
not ebx
and dword [esp + 0x14], eax
and dword [esp + 0x18], edx
and dword [esp + 0x1c], ecx
and dword [esp + 0x20], ebx
cmp edi, 1
je 0x40ad48
mov eax, 0x449848
lea ecx, [esp + 0x14]
call fcn.004098d0
movups xmm0, xmmword [esp + 0x34]
movups xmm1, xmmword [esp + 0x44]
movups xmm2, xmmword [esp + 0x54]
movups xmm3, xmmword [esp + 0x64]
movups xmm4, xmmword [esp + 0x74]
movups xmm5, xmmword [esp + 0x84]
movups xmm6, xmmword [esp + 0x94]
movups xmm7, xmmword [esp + 0xa4]
xor eax, eax
add esp, 0xb8
pop ebp
pop edi
pop esi
pop ebx
pop ecx
pop edx
ret
mov eax, 0x449838
lea ecx, [esp + 0x14]
call fcn.004098d0
jmp 0x40acfa
cmp dword [esp + 0xc], 0x756e6547
jne 0x40a2d8
cmp dword [esp + 0xb4], 0x49656e69
jne 0x40a2d8
cmp dword [esp + 0x10], 0x6c65746e
jne 0x40a2d8
jmp 0x40a32f