Function at 0x4df6db
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
test eax, eax
je 0x4df9b5
push ebx
push esi
push edi
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 - 4], edi
xor esi, edx
sub esi, edx
test ebx, ebx
je 0x4df71a
bsr ecx, ebx
mov eax, ecx
mov dword [ebp + 8], ecx
xor eax, 0x1f
jmp 0x4df71d
push 0x20
pop eax
lea edx, [eax - 1]
test esi, esi
je 0x4df72f
bsr eax, esi
mov dword [ebp + 8], eax
xor eax, 0x1f
jmp 0x4df732
push 0x20
pop eax
lea ecx, [eax - 1]
mov eax, ecx
sub eax, edx
add eax, dword [ebp + 0x10]
jns 0x4df745
xor eax, eax
jmp 0x4df9b2
cmp eax, 0x1f
jle 0x4df758
mov eax, edi
xor eax, 0x7fffffff
sub eax, edi
jmp 0x4df9b2
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 0x4df9a0
mov ecx, eax
shl edx, cl
lea ecx, [eax - 2]
mov eax, edi
cmp ecx, 0x1d
ja case.default.0x4df786
jmp dword [ecx*4 + 0x4df9bb]
add edi, edi
mov eax, edi
sub eax, esi
js 0x4df79d
or edx, 0x40000000
jmp case.0x4df786.30
mov eax, edi
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df7af
or edx, 0x20000000
jmp case.0x4df786.29
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df7c1
or edx, 0x10000000
jmp case.0x4df786.28
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df7d3
or edx, 0x8000000
jmp case.0x4df786.27
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df7e5
or edx, 0x4000000
jmp case.0x4df786.26
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df7f7
or edx, 0x2000000
jmp case.0x4df786.25
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df809
or edx, 0x1000000
jmp case.0x4df786.24
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df81b
or edx, 0x800000
jmp case.0x4df786.23
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df82d
or edx, 0x400000
jmp case.0x4df786.22
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df83f
or edx, 0x200000
jmp case.0x4df786.21
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df851
or edx, 0x100000
jmp case.0x4df786.20
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df863
or edx, 0x80000
jmp case.0x4df786.19
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df875
or edx, 0x40000
jmp case.0x4df786.18
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df887
or edx, 0x20000
jmp case.0x4df786.17
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df899
or edx, 0x10000
jmp case.0x4df786.16
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df8ab
or edx, 0x8000
jmp case.0x4df786.15
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df8bd
or edx, 0x4000
jmp case.0x4df786.14
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df8cf
or edx, 0x2000
jmp case.0x4df786.13
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df8e1
or edx, 0x1000
jmp case.0x4df786.12
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df8f3
or edx, 0x800
jmp case.0x4df786.11
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df905
or edx, 0x400
jmp case.0x4df786.10
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df917
or edx, 0x200
jmp case.0x4df786.9
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df929
or edx, 0x100
jmp case.0x4df786.8
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df93b
or edx, 0x80
jmp case.0x4df786.7
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df94a
or edx, 0x40
jmp case.0x4df786.6
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df959
or edx, 0x20
jmp case.0x4df786.5
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df968
or edx, 0x10
jmp case.0x4df786.4
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df977
or edx, 8
jmp case.0x4df786.3
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df986
or edx, 4
jmp case.0x4df786.2
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x4df995
or edx, 2
jmp case.default.0x4df786
mov eax, ecx
add eax, eax
sub eax, esi
js 0x4df9a0
or edx, 1
test edx, edx
mov eax, SysReAllocString
cmovs edx, eax
xor edx, dword [ebp - 4]
sub edx, dword [ebp - 4]
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret