Function at 0x18096b61
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.180e0cfa
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 0x18096bc3
mov ecx, dword [esi]
call fcn.1809f386
add edi, eax
lea esi, [esi + 4]
inc ebx
cmp ebx, dword [ebp - 4]
jne 0x18096bb1
mov esi, dword [ebp - 8]
push 0xfffffffffffffffc
pop edx
mov ebx, dword [esi + 0x14]
test bl, bl
je 0x18096cf3
test bl, 1
je 0x18096bf7
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 0x18096c1a
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 0x18096c3d
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 0x18096c60
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 0x18096c85
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 0x18096caa
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 0x18096ccf
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 0x18096cf3
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 0x18096e13
test ebx, 0x100
je 0x18096d27
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 0x18096d4f
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 0x18096d77
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 0x18096d9f
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 0x18096dc7
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 0x18096def
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 0x18096e04
mov ecx, dword [esi + 0x68]
call fcn.1809f3a1
add eax, 2
add edi, eax
push 3
pop eax
test ebx, 0x8000
je 0x18096e16
add edi, eax
jmp 0x18096e16
push 3
pop eax
test ebx, 0xff0000
je 0x18096e6f
test ebx, 0x10000
je 0x18096e29
add edi, 2
test ebx, 0x20000
je 0x18096e33
add edi, eax
test ebx, 0x40000
je 0x18096e3d
add edi, eax
test ebx, 0x80000
je 0x18096e47
add edi, eax
test ebx, 0x100000
je 0x18096e51
add edi, eax
test ebx, 0x200000
je 0x18096e5b
add edi, eax
test ebx, 0x400000
je 0x18096e65
add edi, eax
test ebx, 0x800000
je 0x18096e6f
add edi, eax
test ebx, 0xff000000
je 0x18096f04
test ebx, 0x1000000
je 0x18096e85
add edi, eax
test ebx, 0x2000000
je 0x18096e8f
add edi, eax
test ebx, 0x4000000
je 0x18096ea6
mov eax, dword [esi + 0x78]
cdq
push edx
push eax
call fcn.18051629
pop ecx
pop ecx
add edi, eax
test ebx, 0x8000000
je 0x18096ebd
mov eax, dword [esi + 0x7c]
cdq
push edx
push eax
call fcn.18051629
pop ecx
pop ecx
add edi, eax
test ebx, 0x10000000
je 0x18096ed8
mov eax, dword [esi + 0x80]
cdq
push edx
push eax
call fcn.18051603
pop ecx
inc edi
pop ecx
add edi, eax
test ebx, 0x20000000
je 0x18096ef2
mov eax, dword [esi + 0x84]
cdq
push edx
push eax
call fcn.18051629
pop ecx
pop ecx
add edi, eax
test ebx, 0x40000000
je 0x18096efd
add edi, 3
test ebx, ebx
jns 0x18096f04
add edi, 2
mov eax, dword [esi + 0x18]
test al, 7
je 0x18096f20
test al, 1
je 0x18096f12
add edi, 2
test al, 2
je 0x18096f19
add edi, 3
test al, 4
je 0x18096f20
add edi, 3
lea eax, [esi + 0x1c]
mov ecx, esi
push eax
push edi
call fcn.180dcdd4
pop edi
pop esi
pop ebx
leave
ret