Function at 0x18096f06
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.180e1a7e
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 0x18096f68
mov ecx, dword [esi]
call fcn.1809fcdf
add edi, eax
lea esi, [esi + 4]
inc ebx
cmp ebx, dword [ebp - 4]
jne 0x18096f56
mov esi, dword [ebp - 8]
push 0xfffffffffffffffc
pop edx
mov ebx, dword [esi + 0x14]
test bl, bl
je 0x18097098
test bl, 1
je 0x18096f9c
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 0x18096fbf
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 0x18096fe2
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 0x18097005
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 0x1809702a
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 0x1809704f
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 0x18097074
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 0x18097098
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 0x180971b8
test ebx, 0x100
je 0x180970cc
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 0x180970f4
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 0x1809711c
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 0x18097144
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 0x1809716c
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 0x18097194
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 0x180971a9
mov ecx, dword [esi + 0x68]
call fcn.1809fcfa
add eax, 2
add edi, eax
push 3
pop eax
test ebx, 0x8000
je 0x180971bb
add edi, eax
jmp 0x180971bb
push 3
pop eax
test ebx, 0xff0000
je 0x18097214
test ebx, 0x10000
je 0x180971ce
add edi, 2
test ebx, 0x20000
je 0x180971d8
add edi, eax
test ebx, 0x40000
je 0x180971e2
add edi, eax
test ebx, 0x80000
je 0x180971ec
add edi, eax
test ebx, 0x100000
je 0x180971f6
add edi, eax
test ebx, 0x200000
je 0x18097200
add edi, eax
test ebx, 0x400000
je 0x1809720a
add edi, eax
test ebx, 0x800000
je 0x18097214
add edi, eax
test ebx, 0xff000000
je 0x180972a9
test ebx, 0x1000000
je 0x1809722a
add edi, eax
test ebx, 0x2000000
je 0x18097234
add edi, eax
test ebx, 0x4000000
je 0x1809724b
mov eax, dword [esi + 0x78]
cdq
push edx
push eax
call fcn.180516c9
pop ecx
pop ecx
add edi, eax
test ebx, 0x8000000
je 0x18097262
mov eax, dword [esi + 0x7c]
cdq
push edx
push eax
call fcn.180516c9
pop ecx
pop ecx
add edi, eax
test ebx, 0x10000000
je 0x1809727d
mov eax, dword [esi + 0x80]
cdq
push edx
push eax
call fcn.180516a3
pop ecx
inc edi
pop ecx
add edi, eax
test ebx, 0x20000000
je 0x18097297
mov eax, dword [esi + 0x84]
cdq
push edx
push eax
call fcn.180516c9
pop ecx
pop ecx
add edi, eax
test ebx, 0x40000000
je 0x180972a2
add edi, 3
test ebx, ebx
jns 0x180972a9
add edi, 2
mov eax, dword [esi + 0x18]
test al, 7
je 0x180972c5
test al, 1
je 0x180972b7
add edi, 2
test al, 2
je 0x180972be
add edi, 3
test al, 4
je 0x180972c5
add edi, 3
lea eax, [esi + 0x1c]
mov ecx, esi
push eax
push edi
call fcn.180ddb5a
pop edi
pop esi
pop ebx
leave
ret