Function at 0x64c2d9
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [ebp + 8]
test eax, eax
je 0x64c5b3
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 0x64c318
bsr ecx, ebx
mov eax, ecx
mov dword [ebp + 8], ecx
xor eax, 0x1f
jmp 0x64c31b
push 0x20
pop eax
lea edx, [eax - 1]
test esi, esi
je 0x64c32d
bsr eax, esi
mov dword [ebp + 8], eax
xor eax, 0x1f
jmp 0x64c330
push 0x20
pop eax
lea ecx, [eax - 1]
mov eax, ecx
sub eax, edx
add eax, dword [ebp + 0x10]
jns 0x64c343
xor eax, eax
jmp 0x64c5b0
cmp eax, 0x1f
jle 0x64c356
mov eax, edi
xor eax, 0x7fffffff
sub eax, edi
jmp 0x64c5b0
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 0x64c59e
mov ecx, eax
shl edx, cl
lea ecx, [eax - 2]
mov eax, edi
cmp ecx, 0x1d
ja case.default.0x64c384
jmp dword [ecx*4 + 0x64c5b9]
add edi, edi
mov eax, edi
sub eax, esi
js 0x64c39b
or edx, 0x40000000
jmp case.0x64c384.30
mov eax, edi
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c3ad
or edx, 0x20000000
jmp case.0x64c384.29
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c3bf
or edx, 0x10000000
jmp case.0x64c384.28
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c3d1
or edx, 0x8000000
jmp case.0x64c384.27
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c3e3
or edx, 0x4000000
jmp case.0x64c384.26
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c3f5
or edx, 0x2000000
jmp case.0x64c384.25
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c407
or edx, 0x1000000
jmp case.0x64c384.24
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c419
or edx, 0x800000
jmp case.0x64c384.23
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c42b
or edx, 0x400000
jmp case.0x64c384.22
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c43d
or edx, 0x200000
jmp case.0x64c384.21
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c44f
or edx, 0x100000
jmp case.0x64c384.20
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c461
or edx, 0x80000
jmp case.0x64c384.19
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c473
or edx, 0x40000
jmp case.0x64c384.18
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c485
or edx, 0x20000
jmp case.0x64c384.17
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c497
or edx, 0x10000
jmp case.0x64c384.16
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c4a9
or edx, 0x8000
jmp case.0x64c384.15
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c4bb
or edx, 0x4000
jmp case.0x64c384.14
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c4cd
or edx, 0x2000
jmp case.0x64c384.13
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c4df
or edx, 0x1000
jmp case.0x64c384.12
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c4f1
or edx, 0x800
jmp case.0x64c384.11
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c503
or edx, 0x400
jmp case.0x64c384.10
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c515
or edx, 0x200
jmp case.0x64c384.9
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c527
or edx, 0x100
jmp case.0x64c384.8
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c539
or edx, 0x80
jmp case.0x64c384.7
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c548
or edx, 0x40
jmp case.0x64c384.6
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c557
or edx, 0x20
jmp case.0x64c384.5
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c566
or edx, 0x10
jmp case.0x64c384.4
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c575
or edx, 8
jmp case.0x64c384.3
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c584
or edx, 4
jmp case.0x64c384.2
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x64c593
or edx, 2
jmp case.default.0x64c384
mov eax, ecx
add eax, eax
sub eax, esi
js 0x64c59e
or edx, 1
test edx, edx
mov eax, bind
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