Function at 0x100625e0
Capabilities:
Inspect section memory permissions

Disassembly:
push edx
push ecx
push ebx
push esi
push edi
push ebp
sub esp, 0x24
mov edi, eax
pushfd
pop eax
mov ecx, eax
xor eax, 0x200000
push eax
popfd
pushfd
pop eax
cmp eax, ecx
je 0x10062611
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 0x10062635
mov ebx, 1
xor ecx, ecx
mov ebp, 0x1024bc40
xor eax, eax
xor edx, edx
cmpxchg8b qword [ebp]
add esp, 0x24
pop ebp
pop edi
pop esi
pop ebx
pop ecx
pop edx
ret
cmp edi, 1
je 0x10062aa6
mov eax, 1
cpuid
mov esi, edx
mov ebp, edx
and esi, 0x8000
and ebp, 1
shr esi, 0xd
test edx, 0x800000
mov dword [esp + 4], eax
mov dword [esp + 0x10], ecx
lea eax, [esi + ebp*2 + 1]
lea esi, [eax + 8]
jne 0x1006266e
mov esi, eax
test edx, 0x1000000
jne 0x100626a1
mov ebp, ecx
mov dword [esp + 0x14], 0
and ebp, 0x40000000
shr ebp, 0xd
mov eax, 7
xor ecx, ecx
cpuid
add esi, ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
jmp 0x1006276f
lea ebp, [esi + 0x10]
add esi, 0x30
test edx, 0x2000000
jne 0x100626b1
mov esi, ebp
and edx, 0x4000000
shr edx, 0x14
mov ebp, ecx
test ebp, 1
mov ecx, ebp
lea ebx, [esi + edx]
lea eax, [esi + edx + 0x80]
mov esi, ebp
jne 0x100626d4
mov eax, ebx
and esi, 0x200
mov ebx, ebp
shr esi, 1
and ebx, 0x80000
or eax, esi
and ecx, 0x800000
mov edx, eax
or edx, 0x800
test ebp, 0x400000
jne 0x100626fe
mov edx, eax
shr ebx, 0xa
mov eax, ebp
or edx, ebx
and eax, 0x2000000
mov ebx, edx
or ebx, 0x400
test ebp, 0x100000
jne 0x1006271c
mov ebx, edx
shr ecx, 0xb
or ebx, ecx
mov edx, ebx
or edx, 0x2000
test ebp, 2
jne 0x10062733
mov edx, ebx
shr eax, 0xb
or edx, eax
mov dword [esp], edx
mov eax, 7
xor ecx, ecx
cpuid
mov esi, ebx
and esi, 0x20000000
shr esi, 0x1a
mov dword [esp + 0x14], esi
mov esi, dword [esp]
or esi, 0x20000
test ebp, 0x40000000
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
jne 0x1006276f
mov esi, dword [esp]
mov ebp, ebx
mov eax, esi
and ebp, 0x108
or eax, 0x80000
cmp ebp, 0x108
mov edx, ebx
mov dword [esp + 0x18], edi
mov edi, ebx
je 0x10062790
mov eax, esi
and edx, 0x10
test bl, 4
mov esi, dword [esp + 0x14]
mov dword [esp + 0x1c], ebx
lea ebp, [esi + 0x200000]
jne 0x100627a8
mov ebp, esi
shl edx, 0x11
mov esi, ebx
or eax, edx
and esi, 0x80000
mov ecx, eax
and edi, 0x1000000
or ecx, 0x400000
test ebx, 0x800
jne 0x100627cd
mov ecx, eax
shl esi, 9
or ecx, esi
shr edi, 7
mov esi, ecx
or esi, 0x20000000
test ebx, 0x40000
jne 0x100627e7
mov esi, ecx
lea eax, [ebp + edi]
mov dword [esp + 0x20], eax
mov eax, SysReAllocStringLen
cpuid
lea edi, [ebp + edi + 0x400000]
and ecx, 0x20
shl ecx, 0xf
or esi, ecx
mov eax, reloc.OLEAUT32.dll_VariantClear
cpuid
test ebx, 0x200
mov eax, dword [esp + 0xc]
mov ebp, eax
jne 0x1006281e
mov edi, dword [esp + 0x20]
and ebp, 0x100
shl ebp, 5
or edi, ebp
mov ebp, edi
or ebp, 0x40000
test eax, 0x400000
mov ebx, dword [esp + 8]
jne 0x1006283e
mov ebp, edi
and eax, 0x80
shl eax, 0xd
or ebp, eax
mov ecx, ebp
or ecx, 0x80000
test ebx, 0x100000
jne 0x1006285a
mov ecx, ebp
and ebx, 0x40000
mov ebp, esi
shl ebx, 5
or ebp, 0x2000000
or ecx, ebx
mov dword [esp], ecx
mov eax, 0x14
xor ecx, ecx
cpuid
test bl, 0x10
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
jne 0x10062888
mov ebp, esi
test dword [esp + 0x10], 0x8000000
je 0x10062a33
xor ecx, ecx
xgetbv
or ebp, 1
mov edx, eax
mov ecx, edx
and ecx, 6
cmp ecx, 6
jne 0x10062a33
test dword [esp + 0x10], 0x10000000
je 0x100628e4
mov ecx, dword [esp]
mov eax, ecx
mov esi, dword [esp + 0xc]
or eax, 0x4000
test esi, 0x200
jne 0x100628d0
mov eax, ecx
and esi, 0x400
or ebp, 0x10000
shl esi, 5
or esi, eax
mov dword [esp], esi
mov ecx, ebp
mov esi, edx
mov eax, dword [esp + 0x10]
or ecx, 0x8000
test eax, 0x20000000
jne 0x100628fb
mov ecx, ebp
mov ebp, ebx
and esi, 0x18
and ebp, 0x20
shl ebp, 0x12
or ecx, ebp
mov ebp, ecx
or ebp, 0x40000
test eax, 0x1000
jne 0x10062919
mov ebp, ecx
cmp esi, 0x18
jne 0x10062936
mov ecx, dword [esp]
mov eax, ecx
or eax, 0x10
test ebx, 0x4000
je 0x10062930
mov ecx, eax
mov dword [esp], ecx
or ebp, 1
and edx, 0xe0
cmp edx, 0xe0
jne 0x10062a33
or ebp, 1
mov esi, ebx
mov edx, ebp
and esi, 0x8000000
or edx, 0x8000000
test ebx, 0x10000
mov eax, ebx
jne 0x10062967
mov edx, ebp
mov ebp, dword [esp]
mov ecx, ebp
or ecx, 4
test ebx, 0x10000000
jne 0x10062979
mov ecx, ebp
shr esi, 0x1b
and eax, 0x20000
or ecx, esi
mov esi, ebx
mov ebp, ecx
and esi, 0x40000000
or ebp, 2
test ebx, 0x4000000
jne 0x1006299a
mov ebp, ecx
shr esi, 0x19
mov ecx, ebx
shl eax, 7
or ebp, esi
or edx, eax
mov eax, ebp
and ecx, 0x80000000
or eax, 0x40
cmp ecx, 0x80000000
mov esi, dword [esp + 0xc]
je 0x100629bf
mov eax, ebp
mov ebp, edx
or ebp, 0x40000000
test ebx, 0x200000
jne 0x100629d1
mov ebp, edx
mov edx, esi
and edx, 2
shl edx, 6
or eax, edx
mov ecx, eax
or ecx, 0x400
test esi, 0x4000
jne 0x100629ed
mov ecx, eax
mov eax, dword [esp + 8]
mov edx, eax
and edx, 4
shl edx, 7
or ecx, edx
mov edx, ecx
or edx, 0x100
test al, 8
mov eax, esi
jne 0x10062a0b
mov edx, ecx
and eax, 0x1000
shr eax, 1
or edx, eax
mov eax, edx
or eax, 0x1000
test esi, 0x40
jne 0x10062a25
mov eax, edx
and esi, 0x800
shl esi, 5
or eax, esi
mov dword [esp], eax
mov eax, dword [esp + 4]
mov edx, eax
shr edx, 0xc
shr eax, 4
and edx, 0xf0
and eax, 0xf
add edx, eax
cmp edx, 0x1c
je 0x10062a59
cmp edx, 0x26
je 0x10062a59
cmp edx, 0x27
jne 0x10062a5f
or ebp, 0x80000000
cmp edi, 1
je 0x10062a7f
mov ecx, dword [esp]
mov ebx, ebp
mov esi, 0x1024bc48
xor eax, eax
xor edx, edx
cmpxchg8b qword [esi]
add esp, 0x24
pop ebp
pop edi
pop esi
pop ebx
pop ecx
pop edx
ret
mov ecx, dword [esp]
mov ebx, ebp
mov esi, 0x1024bc40
mov edi, 0x1024bc48
xor eax, eax
xor edx, edx
cmpxchg8b qword [esi]
xor eax, eax
xor edx, edx
cmpxchg8b qword [edi]
add esp, 0x24
pop ebp
pop edi
pop esi
pop ebx
pop ecx
pop edx
ret
cmp dword [esp + 4], 0x756e6547
jne 0x10062617
cmp dword [esp + 0xc], 0x49656e69
jne 0x10062617
cmp dword [esp + 8], 0x6c65746e
jne 0x10062617
jmp 0x1006263e