Function at 0x18096f45
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push ecx
push ecx
push ebx
push esi
mov esi, ecx
push edi
mov dword [ebp - 8], esi
lea ecx, [esi + 8]
call fcn.180e1bf4
mov ebx, dword [esi + 0x24]
mov ecx, dword [esi + 0x2c]
mov edx, ecx
mov esi, ecx
neg esi
lea edi, [eax + ebx*2]
sbb esi, esi
lea eax, [ecx + 4]
and esi, eax
neg ecx
lea eax, [edx + 4]
sbb ecx, ecx
and ecx, eax
lea eax, [ecx + ebx*4]
xor ebx, ebx
mov ecx, eax
sub ecx, esi
add ecx, 3
shr ecx, 2
cmp eax, esi
sbb eax, eax
not eax
and eax, ecx
mov dword [ebp - 4], eax
je 0x18096fa7
mov ecx, dword [esi]
call fcn.1809fd13
add edi, eax
lea esi, [esi + 4]
inc ebx
cmp ebx, dword [ebp - 4]
jne 0x18096f95
mov esi, dword [ebp - 8]
push 0xfffffffffffffffc
pop edx
mov ebx, dword [esi + 0x14]
test bl, bl
je 0x180970d7
test bl, 1
je 0x18096fdb
mov eax, dword [esi + 0x30]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
inc eax
add eax, ecx
add edi, eax
test bl, 2
je 0x18096ffe
mov eax, dword [esi + 0x34]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
inc eax
add eax, ecx
add edi, eax
test bl, 4
je 0x18097021
mov eax, dword [esi + 0x38]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
inc eax
add eax, ecx
add edi, eax
test bl, 8
je 0x18097044
mov eax, dword [esi + 0x3c]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
inc eax
add eax, ecx
add edi, eax
test bl, 0x10
je 0x18097069
mov eax, dword [esi + 0x40]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test bl, 0x20
je 0x1809708e
mov eax, dword [esi + 0x44]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test bl, 0x40
je 0x180970b3
mov eax, dword [esi + 0x48]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test bl, bl
jns 0x180970d7
mov eax, dword [esi + 0x4c]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test ebx, 0xff00
je 0x180971f3
test ebx, 0x100
je 0x1809710b
mov eax, dword [esi + 0x50]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test ebx, 0x200
je 0x18097133
mov eax, dword [esi + 0x54]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test ebx, 0x400
je 0x1809715b
mov eax, dword [esi + 0x58]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test ebx, 0x800
je 0x18097183
mov eax, dword [esi + 0x5c]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test ebx, 0x1000
je 0x180971ab
mov eax, dword [esi + 0x60]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test ebx, 0x2000
je 0x180971d3
mov eax, dword [esi + 0x64]
and eax, edx
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, 1
bsr eax, eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test ebx, 0x4000
je 0x180971e8
mov ecx, dword [esi + 0x68]
call fcn.1809fd2e
add eax, 2
add edi, eax
test ebx, 0x8000
je 0x180971f3
add edi, 3
test ebx, 0xff0000
je 0x18097253
test ebx, 0x10000
je 0x18097206
add edi, 3
test ebx, 0x20000
je 0x18097211
add edi, 3
test ebx, 0x40000
je 0x1809721c
add edi, 3
test ebx, 0x80000
je 0x18097227
add edi, 3
test ebx, 0x100000
je 0x18097232
add edi, 2
test ebx, 0x200000
je 0x1809723d
add edi, 3
test ebx, 0x400000
je 0x18097248
add edi, 3
test ebx, 0x800000
je 0x18097253
add edi, 3
test ebx, 0xff000000
je 0x180972ea
test ebx, 0x1000000
je 0x1809726a
add edi, 3
test ebx, 0x2000000
je 0x18097281
mov eax, dword [esi + 0x78]
cdq
push edx
push eax
call fcn.1805174b
pop ecx
pop ecx
add edi, eax
test ebx, 0x4000000
je 0x18097298
mov eax, dword [esi + 0x7c]
cdq
push edx
push eax
call fcn.1805174b
pop ecx
pop ecx
add edi, eax
test ebx, 0x8000000
je 0x180972b3
mov eax, dword [esi + 0x80]
cdq
push edx
push eax
call fcn.18051725
pop ecx
inc edi
pop ecx
add edi, eax
test ebx, 0x10000000
je 0x180972cd
mov eax, dword [esi + 0x84]
cdq
push edx
push eax
call fcn.1805174b
pop ecx
pop ecx
add edi, eax
test ebx, 0x20000000
je 0x180972d8
add edi, 3
test ebx, 0x40000000
je 0x180972e3
add edi, 2
test ebx, ebx
jns 0x180972ea
add edi, 2
test byte [esi + 0x18], 3
je 0x18097302
test byte [esi + 0x18], 1
je 0x180972f9
add edi, 3
test byte [esi + 0x18], 2
je 0x18097302
add edi, 3
lea eax, [esi + 0x1c]
mov ecx, esi
push eax
push edi
call fcn.180ddcce
pop edi
pop esi
pop ebx
leave
ret