Function at 0x531019
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
test eax, eax
je 0x5312db
mov edi, eax
cdq
xor edi, dword [ebp + 0xc]
mov ebx, eax
mov eax, dword [ebp + 0xc]
xor ebx, edx
sub ebx, edx
sar edi, 0x1f
cdq
mov esi, eax
mov dword [ebp + 8], edi
xor esi, edx
sub esi, edx
bsr edx, ebx
xor edx, 0x1f
dec edx
test esi, esi
je 0x531059
bsr eax, esi
xor eax, 0x1f
jmp 0x53105c
push 0x20
pop eax
lea ecx, [eax - 1]
mov eax, ecx
sub eax, edx
add eax, dword [ebp + 0x10]
js 0x5312db
cmp eax, 0x1f
jle 0x53107f
mov eax, edi
xor eax, 0x7fffffff
sub eax, edi
jmp 0x5312dd
shl esi, cl
mov ecx, edx
shl ebx, cl
mov edx, ebx
sub edx, esi
mov edi, edx
not edx
cmovs edi, ebx
shr edx, 0x1f
test eax, eax
jle 0x5312c7
mov ecx, eax
shl edx, cl
lea ecx, [eax - 2]
mov eax, edi
cmp ecx, 0x1d
ja case.default.0x5310ad
jmp dword [ecx*4 + 0x5312e5]
add edi, edi
mov eax, edi
sub eax, esi
js 0x5310c4
or edx, 0x40000000
jmp case.0x5310ad.30
mov eax, edi
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5310d6
or edx, 0x20000000
jmp case.0x5310ad.29
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5310e8
or edx, 0x10000000
jmp case.0x5310ad.28
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5310fa
or edx, 0x8000000
jmp case.0x5310ad.27
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x53110c
or edx, 0x4000000
jmp case.0x5310ad.26
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x53111e
or edx, 0x2000000
jmp case.0x5310ad.25
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531130
or edx, 0x1000000
jmp case.0x5310ad.24
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531142
or edx, 0x800000
jmp case.0x5310ad.23
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531154
or edx, 0x400000
jmp case.0x5310ad.22
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531166
or edx, 0x200000
jmp case.0x5310ad.21
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531178
or edx, 0x100000
jmp case.0x5310ad.20
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x53118a
or edx, 0x80000
jmp case.0x5310ad.19
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x53119c
or edx, 0x40000
jmp case.0x5310ad.18
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5311ae
or edx, 0x20000
jmp case.0x5310ad.17
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5311c0
or edx, 0x10000
jmp case.0x5310ad.16
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5311d2
or edx, 0x8000
jmp case.0x5310ad.15
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5311e4
or edx, 0x4000
jmp case.0x5310ad.14
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5311f6
or edx, 0x2000
jmp case.0x5310ad.13
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531208
or edx, 0x1000
jmp case.0x5310ad.12
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x53121a
or edx, 0x800
jmp case.0x5310ad.11
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x53122c
or edx, 0x400
jmp case.0x5310ad.10
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x53123e
or edx, 0x200
jmp case.0x5310ad.9
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531250
or edx, 0x100
jmp case.0x5310ad.8
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531262
or edx, 0x80
jmp case.0x5310ad.7
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531271
or edx, 0x40
jmp case.0x5310ad.6
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x531280
or edx, 0x20
jmp case.0x5310ad.5
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x53128f
or edx, 0x10
jmp case.0x5310ad.4
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x53129e
or edx, 8
jmp case.0x5310ad.3
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5312ad
or edx, 4
jmp case.0x5310ad.2
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x5312bc
or edx, 2
jmp case.default.0x5310ad
mov eax, ecx
add eax, eax
sub eax, esi
js 0x5312c7
or edx, 1
test edx, edx
mov eax, SysReAllocString
cmovs edx, eax
xor edx, dword [ebp + 8]
sub edx, dword [ebp + 8]
mov eax, edx
jmp 0x5312dd
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret