Function at 0x10154ef0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
jne 0x10154f07
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebx + 0x14]
mov ecx, edx
shr ecx, 0x1c
and ecx, 1
mov ebx, dword [ebx + 0x28]
test edx, 0x20000000
push esi
push edi
lea eax, [ecx + 1]
cmove eax, ecx
test edx, 0x40000000
lea ecx, [eax + 1]
cmove ecx, eax
test edx, edx
lea eax, [ecx + 1]
cmovns eax, ecx
test ebx, ebx
lea ecx, [eax + 1]
cmovns ecx, eax
test edx, 0x1000000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x40000000
lea ecx, [eax + 1]
cmove ecx, eax
test edx, 0x2000000
lea eax, [ecx + 1]
cmove eax, ecx
test edx, 0x4000000
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x10000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x20000
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x40000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x80000
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x100000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x200000
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x400000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x800000
lea ecx, [eax + 1]
cmove ecx, eax
test dl, 0x10
lea eax, [ecx + 1]
cmove eax, ecx
test dl, 0x20
lea ecx, [eax + 1]
cmove ecx, eax
test dl, 0x40
lea eax, [ecx + 1]
cmove eax, ecx
test dl, 0x80
lea ecx, [eax + 1]
cmove ecx, eax
test edx, 0x100
lea eax, [ecx + 1]
cmove eax, ecx
test edx, 0x200
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x10000000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x20000000
lea ecx, [eax + 1]
cmove ecx, eax
test edx, 0x8000000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x1000000
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x2000000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x4000000
lea ecx, [eax + 1]
cmove ecx, eax
test bl, 1
lea eax, [ecx + 1]
cmove eax, ecx
test bl, 2
lea ecx, [eax + 1]
cmove ecx, eax
test bl, 4
lea eax, [ecx + 1]
cmove eax, ecx
test bl, 8
lea ecx, [eax + 1]
cmove ecx, eax
test bl, 0x10
lea eax, [ecx + 1]
cmove eax, ecx
test bl, 0x20
lea ecx, [eax + 1]
cmove ecx, eax
test bl, 0x40
lea eax, [ecx + 1]
cmove eax, ecx
test bl, 0x80
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x100
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x200
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x400
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x800
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x1000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x2000
lea ecx, [eax + 1]
cmove ecx, eax
test ebx, 0x4000
lea eax, [ecx + 1]
cmove eax, ecx
test ebx, 0x8000
mov ebx, 1
mov dword [ebp - 4], ebx
lea edi, [eax + 1]
cmove edi, eax
mov dword [ebp - 8], edi
nop word [eax + eax]
mov eax, dword [ebp - 4]
lea edi, [edi + 1]
add eax, 0x15f
dec ebx
shr eax, 5
mov esi, ebx
and esi, 0x1f
or edx, 0xffffffff
mov ecx, ebx
sub ecx, esi
dec ecx
and ecx, 0x1f
shr edx, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov ecx, esi
shr eax, cl
mov ecx, ebx
test eax, edx
mov eax, dword [ebp - 4]
mov esi, eax
cmove edi, dword [ebp - 8]
add eax, 0x160
and esi, 0x1f
shr eax, 5
sub ecx, esi
or edx, 0xffffffff
and ecx, 0x1f
shr edx, cl
lea ebx, [edi + 1]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov ecx, esi
shr eax, cl
test eax, edx
mov eax, dword [ebp - 4]
cmove ebx, edi
or edx, 0xffffffff
lea esi, [eax + 1]
lea ecx, [eax - 1]
and esi, 0x1f
sub ecx, esi
lea edi, [ebx + 1]
inc ecx
add eax, 0x161
and ecx, 0x1f
shr eax, 5
shr edx, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov ecx, esi
shr eax, cl
test eax, edx
cmove edi, ebx
mov ebx, dword [ebp - 4]
or edx, 0xffffffff
lea esi, [ebx + 2]
and esi, 0x1f
lea ecx, [ebx - 1]
sub ecx, esi
lea eax, [ebx + 0x162]
add ecx, 2
shr eax, 5
and ecx, 0x1f
shr edx, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov ecx, esi
shr eax, cl
test eax, edx
lea eax, [edi + 1]
cmove eax, edi
add ebx, 4
mov dword [ebp - 8], eax
mov edi, eax
mov dword [ebp - 4], ebx
cmp ebx, 0x29
jb 0x10155110
mov edx, 1
nop dword [eax]
or esi, 0xffffffff
lea edi, [edx - 1]
and edi, 0x1f
lea ecx, [edx - 1]
sub ecx, edi
lea eax, [edx + 0xbf]
dec ecx
shr eax, 5
and ecx, 0x1f
shr esi, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov ecx, edi
shr eax, cl
mov edi, edx
test eax, esi
lea ecx, [edx - 1]
mov eax, dword [ebp - 8]
lea ebx, [eax + 1]
cmove ebx, eax
and edi, 0x1f
sub ecx, edi
lea eax, [edx + 0xc0]
and ecx, 0x1f
shr eax, 5
or esi, 0xffffffff
shr esi, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov ecx, edi
shr eax, cl
lea edi, [edx + 1]
test eax, esi
lea ecx, [edx - 1]
lea eax, [ebx + 1]
cmove eax, ebx
and edi, 0x1f
sub ecx, edi
mov dword [ebp - 8], eax
inc ecx
lea eax, [edx + 0xc1]
and ecx, 0x1f
shr eax, 5
or esi, 0xffffffff
shr esi, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov ecx, edi
shr eax, cl
lea edi, [edx + 2]
test eax, esi
lea ecx, [edx - 1]
mov eax, dword [ebp - 8]
lea ebx, [eax + 1]
cmove ebx, eax
and edi, 0x1f
sub ecx, edi
lea eax, [edx + 0xc2]
add ecx, 2
shr eax, 5
and ecx, 0x1f
or esi, 0xffffffff
shr esi, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + eax*4]
mov ecx, edi
shr eax, cl
test eax, esi
lea eax, [ebx + 1]
cmove eax, ebx
add edx, 4
mov dword [ebp - 8], eax
cmp edx, 0x81
jb 0x101551f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4