Function at 0x10250ee0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
cmp dword [ebp + 8], 0
push ebx
mov ebx, dword [0x102ab1d0]
push esi
push edi
jne 0x10250f06
push 0x7f8
push 0x1034b180
push str.context
call ebx
add esp, 0xc
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x10250f21
push 0x7f9
push 0x1034b180
push str.instruction
call ebx
add esp, 0xc
mov edi, dword [ebp + 0x10]
test edi, edi
jne 0x10250f3c
push 0x7fa
push 0x1034b180
push str.definition
call ebx
add esp, 0xc
cmp byte [esi + 0x14], 1
je 0x10250fb2
mov eax, dword [ebp + 8]
mov al, byte [eax + 0xc]
test al, al
je 0x10251328
movzx eax, al
movzx eax, byte [eax + 0x10251326]
jmp dword [eax*4 + 0x10251330]
test byte [edi + 0xc], 1
je 0x10250fce
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x100
mov dword [esi + 0x2a4], eax
test byte [edi + 0xc], 2
je 0x10251011
mov al, byte [esi + 0x2d2]
cmp al, 0x12
je 0x10250ffe
cmp al, 0x19
je 0x10250ffe
cmp al, 0x51
je 0x10250ffe
cmp al, 0x3f
je 0x10250ffe
push 0x80c
push 0x1034b180
push str._instruction__meta.category__ZYDIS_CATEGORY_CALL____instruction__meta.category__ZYDIS_CATEGORY_COND_BR____instruction__meta.category__ZYDIS_CATEGORY_UNCOND_BR____instruction__meta.category__ZYDIS_CATEGORY_RET_
call ebx
add esp, 0xc
mov eax, dword [esi + 0x2a0]
or dword [esi + 0x2a4], 0x10
mov dword [esi + 0x2a0], eax
test byte [edi + 0xc], 4
je 0x10251046
or dword [esi + 0x2a0], 0x200
cmp byte [esi + 0x2e7], 0
mov eax, dword [esi + 0x2a4]
mov dword [esi + 0x2a4], eax
je 0x10251046
or dword [esi + 0x2a0], 0x80000
mov dword [esi + 0x2a4], eax
test byte [edi + 0xc], 8
je 0x10251062
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x400
mov dword [esi + 0x2a4], eax
test byte [edi + 0xc], 0x10
je 0x1025107e
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x800
mov dword [esi + 0x2a4], eax
test byte [edi + 0xc], 0x20
je 0x1025109a
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x1000
mov dword [esi + 0x2a4], eax
test byte [edi + 0xc], 0x40
je 0x102510b6
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x2000
mov dword [esi + 0x2a4], eax
test byte [edi + 0xc], 0x80
je 0x102510d2
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x4000
mov dword [esi + 0x2a4], eax
test byte [edi + 0xd], 1
je 0x102510ee
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x8000
mov dword [esi + 0x2a4], eax
test byte [edi + 0xd], 2
je 0x1025110a
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x10000
mov dword [esi + 0x2a4], eax
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xd]
sub eax, 0xf2
je 0x10251183
dec eax
jne 0x102511ef
mov ecx, dword [esi + 0x2a0]
mov eax, ecx
mov ebx, dword [esi + 0x2a4]
and eax, 0x400
or eax, 0
je 0x10251142
or ecx, 0x100000
jmp 0x102511e3
mov eax, ecx
and eax, 0x800
or eax, 0
je 0x10251159
or ecx, 0x200000
jmp 0x102511e3
mov eax, ecx
and eax, 0x8000
or eax, 0
je 0x102511ef
mov eax, ecx
and eax, 0x80000
or eax, 0
jne 0x1025117b
test byte [edi + 0xd], 2
je 0x102511ef
or ecx, 0x2000000
jmp 0x102511e3
mov ecx, dword [esi + 0x2a0]
mov eax, ecx
mov ebx, dword [esi + 0x2a4]
and eax, 0x1000
or eax, 0
je 0x102511a3
or ecx, 0x400000
jmp 0x102511e3
mov eax, ecx
and eax, 0x4000
or eax, 0
je 0x102511c9
mov eax, ecx
and eax, 0x80000
or eax, 0
jne 0x102511c1
test byte [edi + 0xd], 2
je 0x102511c9
or ecx, 0x1000000
jmp 0x102511e3
mov eax, dword [edx]
cmp byte [eax + 5], 0
je 0x102511ef
mov eax, ecx
and eax, 0x2000
or eax, 0
je 0x102511ef
or ecx, 0x800000
mov dword [esi + 0x2a4], ebx
mov dword [esi + 0x2a0], ecx
mov al, byte [edi + 0xd]
test al, 4
je 0x10251251
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x20000
mov dword [esi + 0x2a4], eax
mov al, byte [edx + 0xc]
cmp al, 0x2e
je 0x10251236
cmp al, 0x3e
jne 0x10251328
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x8000000
pop edi
mov dword [esi + 0x2a4], eax
pop esi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x4000000
pop edi
mov dword [esi + 0x2a4], eax
pop esi
pop ebx
pop ebp
ret
test al, 8
je 0x1025126b
mov eax, dword [esi + 0x2a4]
or dword [esi + 0x2a0], 0x40000
mov dword [esi + 0x2a4], eax
mov al, byte [edx + 0xc]
test al, al
je 0x10251328
test byte [edi + 0xd], 8
je 0x10251328
movzx eax, al
movzx eax, byte [eax + 0x10251382]
jmp dword [eax*4 + 0x1025138c]
pop edi
pop esi
pop ebx
pop ebp
ret