Function at 0x478eec
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.0049e903
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 0x478f4e
mov ecx, dword [esi]
call fcn.00481280
add edi, eax
lea esi, [esi + 4]
inc ebx
cmp ebx, dword [ebp - 4]
jne 0x478f3c
mov esi, dword [ebp - 8]
push 0xfffffffffffffffc
pop edx
mov ebx, dword [esi + 0x14]
test bl, bl
je 0x47907e
test bl, 1
je 0x478f82
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 0x478fa5
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 0x478fc8
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 0x478feb
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 0x479010
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 0x479035
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 0x47905a
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 0x47907e
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 0x47919e
test ebx, 0x100
je 0x4790b2
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 0x4790da
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 0x479102
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 0x47912a
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 0x479152
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 0x47917a
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 0x47918f
mov ecx, dword [esi + 0x68]
call fcn.0048129b
add eax, 2
add edi, eax
push 3
pop eax
test ebx, 0x8000
je 0x4791a1
add edi, eax
jmp 0x4791a1
push 3
pop eax
test ebx, 0xff0000
je 0x4791fa
test ebx, 0x10000
je 0x4791b4
add edi, 2
test ebx, 0x20000
je 0x4791be
add edi, eax
test ebx, 0x40000
je 0x4791c8
add edi, eax
test ebx, 0x80000
je 0x4791d2
add edi, eax
test ebx, 0x100000
je 0x4791dc
add edi, eax
test ebx, 0x200000
je 0x4791e6
add edi, eax
test ebx, 0x400000
je 0x4791f0
add edi, eax
test ebx, 0x800000
je 0x4791fa
add edi, eax
test ebx, 0xff000000
je 0x47928f
test ebx, 0x1000000
je 0x479210
add edi, eax
test ebx, 0x2000000
je 0x47921a
add edi, eax
test ebx, 0x4000000
je 0x479231
mov eax, dword [esi + 0x78]
cdq
push edx
push eax
call fcn.00433c51
pop ecx
pop ecx
add edi, eax
test ebx, 0x8000000
je 0x479248
mov eax, dword [esi + 0x7c]
cdq
push edx
push eax
call fcn.00433c51
pop ecx
pop ecx
add edi, eax
test ebx, 0x10000000
je 0x479263
mov eax, dword [esi + 0x80]
cdq
push edx
push eax
call fcn.00433c2b
pop ecx
inc edi
pop ecx
add edi, eax
test ebx, 0x20000000
je 0x47927d
mov eax, dword [esi + 0x84]
cdq
push edx
push eax
call fcn.00433c51
pop ecx
pop ecx
add edi, eax
test ebx, 0x40000000
je 0x479288
add edi, 3
test ebx, ebx
jns 0x47928f
add edi, 2
mov eax, dword [esi + 0x18]
test al, 7
je 0x4792ab
test al, 1
je 0x47929d
add edi, 2
test al, 2
je 0x4792a4
add edi, 3
test al, 4
je 0x4792ab
add edi, 3
lea eax, [esi + 0x1c]
mov ecx, esi
push eax
push edi
call fcn.0049aa32
pop edi
pop esi
pop ebx
leave
ret