Function at 0x18089350
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
mov ebx, ecx
push edi
mov dword [ebp - 8], ebx
lea ecx, [ebx + 4]
call fcn.180cb1b4
mov ecx, dword [ebx + 0x24]
push esi
lea edi, [eax + ecx*2]
mov ecx, dword [ebx + 0x2c]
mov esi, ecx
mov edx, ecx
neg esi
sbb esi, esi
lea eax, [ecx + 4]
and esi, eax
neg ecx
lea eax, [edx + 4]
sbb ecx, ecx
and ecx, eax
mov eax, dword [ebx + 0x24]
lea eax, [ecx + eax*4]
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 0x180893b9
xor ebx, ebx
mov ecx, dword [esi]
call fcn.18090f7f
add edi, eax
lea esi, [esi + 4]
inc ebx
cmp ebx, dword [ebp - 4]
jne 0x180893a4
mov ebx, dword [ebp - 8]
mov edx, dword [ebx + 0x14]
xor esi, esi
inc esi
test dl, dl
je 0x180894e6
test dl, 1
je 0x180893ea
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 8], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
inc eax
add eax, ecx
add edi, eax
test dl, 2
je 0x1808940d
mov eax, dword [ebx + 0x34]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 4], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
inc eax
add eax, ecx
add edi, eax
test dl, 4
je 0x18089430
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0xc], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
inc eax
add eax, ecx
add edi, eax
test dl, 8
je 0x18089453
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x10], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
inc eax
add eax, ecx
add edi, eax
test dl, 0x10
je 0x18089478
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x14], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test dl, 0x20
je 0x1808949d
mov eax, dword [ebx + 0x44]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x18], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test dl, 0x40
je 0x180894c2
mov eax, dword [ebx + 0x48]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x1c], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test dl, dl
jns 0x180894e6
mov eax, dword [ebx + 0x4c]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x20], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test edx, 0xff00
je 0x180895f8
test edx, 0x100
je 0x1808951a
mov eax, dword [ebx + 0x50]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x24], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test edx, 0x200
je 0x18089542
mov eax, dword [ebx + 0x54]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x28], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test edx, 0x400
je 0x1808956a
mov eax, dword [ebx + 0x58]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x2c], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test edx, 0x800
je 0x18089592
mov eax, dword [ebx + 0x5c]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x30], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test edx, 0x1000
je 0x180895ba
mov eax, dword [ebx + 0x60]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x34], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test edx, 0x2000
je 0x180895e2
mov eax, dword [ebx + 0x64]
mov ecx, dword [eax + 0x10]
mov eax, ecx
or eax, esi
bsr eax, eax
mov dword [ebp - 0x38], eax
imul eax, eax, 9
add eax, 0x49
shr eax, 6
add eax, 2
add eax, ecx
add edi, eax
test edx, 0x4000
je 0x180895ed
add edi, 3
test edx, 0x8000
je 0x180895f8
add edi, 2
pop esi
test edx, 0xff0000
je 0x18089654
push 3
pop eax
test edx, 0x10000
je 0x1808960e
add edi, eax
test edx, 0x20000
je 0x18089618
add edi, eax
test edx, 0x40000
je 0x18089622
add edi, eax
test edx, 0x80000
je 0x1808962c
add edi, eax
test edx, 0x100000
je 0x18089636
add edi, eax
test edx, 0x200000
je 0x18089640
add edi, eax
test edx, 0x400000
je 0x1808964a
add edi, eax
test edx, 0x800000
je 0x18089654
add edi, eax
test edx, 0xff000000
je 0x180896d3
test edx, 0x1000000
je 0x18089667
add edi, 3
test edx, 0x2000000
je 0x1808967a
mov ecx, dword [ebx + 0x74]
call fcn.1804c443
inc edi
add edi, eax
test edx, 0x4000000
je 0x1808968d
mov ecx, dword [ebx + 0x78]
call fcn.1804c443
inc edi
add edi, eax
test edx, 0x8000000
je 0x180896a0
mov ecx, dword [ebx + 0x7c]
call fcn.1804c443
inc edi
add edi, eax
test edx, 0x10000000
je 0x180896b6
mov ecx, dword [ebx + 0x80]
call fcn.1804c443
inc edi
add edi, eax
test edx, 0x20000000
je 0x180896c1
add edi, 3
test edx, 0x40000000
je 0x180896cc
add edi, 2
test edx, edx
jns 0x180896d3
add edi, 2
test byte [ebx + 0x18], 1
je 0x180896e7
mov ecx, dword [ebx + 0x88]
call fcn.1804c443
inc edi
add edi, eax
lea ecx, [ebx + 0x10]
add ebx, 0x1c
test byte [ecx], 1
je 0x180896fd
push ebx
mov edx, edi
call fcn.180c553f
pop ecx
jmp 0x18089701
mov dword [ebx], edi
mov eax, edi
pop edi
pop ebx
leave
ret