Function at 0x65d890
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
push esi
mov esi, edx
push edi
test ecx, ecx
je 0x65db5b
mov eax, ecx
mov ebp, ecx
cdq
xor ebp, esi
mov edi, eax
sar ebp, 0x1f
xor edi, edx
mov eax, esi
sub edi, edx
cdq
mov esi, eax
xor esi, edx
sub esi, edx
test edi, edi
je 0x65d8c2
bsr eax, edi
xor eax, 0x1f
jmp 0x65d8c7
mov eax, 0x20
lea edx, [eax - 1]
test esi, esi
je 0x65d8d6
bsr eax, esi
xor eax, 0x1f
jmp 0x65d8db
mov eax, 0x20
lea ecx, [eax - 1]
mov eax, ecx
sub eax, edx
add eax, 0x10
js 0x65db5b
cmp eax, 0x1f
jle 0x65d8fd
mov eax, ebp
pop edi
xor eax, 0x7fffffff
pop esi
sub eax, ebp
pop ebp
ret
shl esi, cl
mov ecx, edx
shl edi, cl
mov edx, edi
sub edx, esi
push ebx
mov ebx, edx
not edx
cmovs ebx, edi
shr edx, 0x1f
test eax, eax
jle 0x65db46
mov ecx, eax
shl edx, cl
lea ecx, [eax - 2]
mov eax, ebx
cmp ecx, 0x1d
ja case.default.0x65d92c
jmp dword [ecx*4 + 0x65db64]
add ebx, ebx
mov eax, ebx
sub eax, esi
js 0x65d943
or edx, 0x40000000
jmp case.0x65d92c.30
mov eax, ebx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d955
or edx, 0x20000000
jmp case.0x65d92c.29
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d967
or edx, 0x10000000
jmp case.0x65d92c.28
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d979
or edx, 0x8000000
jmp case.0x65d92c.27
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d98b
or edx, 0x4000000
jmp case.0x65d92c.26
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d99d
or edx, 0x2000000
jmp case.0x65d92c.25
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d9af
or edx, 0x1000000
jmp case.0x65d92c.24
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d9c1
or edx, 0x800000
jmp case.0x65d92c.23
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d9d3
or edx, 0x400000
jmp case.0x65d92c.22
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d9e5
or edx, 0x200000
jmp case.0x65d92c.21
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65d9f7
or edx, 0x100000
jmp case.0x65d92c.20
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65da09
or edx, 0x80000
jmp case.0x65d92c.19
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65da1b
or edx, 0x40000
jmp case.0x65d92c.18
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65da2d
or edx, 0x20000
jmp case.0x65d92c.17
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65da3f
or edx, 0x10000
jmp case.0x65d92c.16
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65da51
or edx, 0x8000
jmp case.0x65d92c.15
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65da63
or edx, 0x4000
jmp case.0x65d92c.14
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65da75
or edx, 0x2000
jmp case.0x65d92c.13
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65da87
or edx, 0x1000
jmp case.0x65d92c.12
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65da99
or edx, 0x800
jmp case.0x65d92c.11
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65daab
or edx, 0x400
jmp case.0x65d92c.10
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65dabd
or edx, 0x200
jmp case.0x65d92c.9
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65dacf
or edx, 0x100
jmp case.0x65d92c.8
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65dae1
or edx, 0x80
jmp case.0x65d92c.7
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65daf0
or edx, 0x40
jmp case.0x65d92c.6
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65daff
or edx, 0x20
jmp case.0x65d92c.5
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65db0e
or edx, 0x10
jmp case.0x65d92c.4
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65db1d
or edx, 8
jmp case.0x65d92c.3
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65db2c
or edx, 4
jmp case.0x65d92c.2
mov eax, ecx
add eax, eax
mov ecx, eax
sub eax, esi
js 0x65db3b
or edx, 2
jmp case.default.0x65d92c
mov eax, ecx
add eax, eax
sub eax, esi
js 0x65db46
or edx, 1
test edx, edx
mov eax, 0x7fffffff
pop ebx
cmovs edx, eax
xor edx, ebp
pop edi
sub edx, ebp
pop esi
mov eax, edx
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebp
ret