Function at 0x5c01ed25
Capabilities:
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
mov esi, ecx
push edi
mov ecx, dword [esi + 0x1a6c]
test ecx, 0x40000
je 0x5c01ed89
mov edi, dword [esi + 0x2834]
and dword [esi + 0x5c4], 0
test edi, edi
je 0x5c01ed89
test byte [edi + 0x90], 0x10
je 0x5c01ed67
mov ecx, edi
call fcn.5c013d93
mov eax, dword [esi + 0x5c4]
mov dword [edi + 0xc8], eax
lea eax, [edi + 0x70]
mov dword [esi + 0x5c4], eax
mov edi, dword [edi + 4]
test edi, edi
jne 0x5c01ed57
mov ecx, dword [esi + 0x1a6c]
mov edx, dword [esi + 0x1a64]
test edx, edx
jns 0x5c01eda6
test byte [esi + 0x1a70], 0xc0
je 0x5c01eda6
or dword [esi + 0x1a48], 0x400
test dl, 8
je 0x5c01edbe
test byte [esi + 0x1a70], 0x80
je 0x5c01edbe
or dword [esi + 0x1a48], 0x100
test ecx, 0x80000
je 0x5c01ee31
mov edi, dword [esi + 0x1a60]
mov eax, dword [esi + 0x2998]
shr edi, 1
and edi, 7
add edi, 0xfffffffe
mov ebx, dword [eax + 0x25c]
cmp ebx, edi
jb 0x5c01ede6
mov ebx, edi
mov eax, ecx
mov dword [esi + 0x1cb8], ebx
and eax, 0xfff7ffff
mov edi, edx
and edi, 0x800000
mov dword [esi + 0x1a6c], eax
mov ecx, eax
test ebx, ebx
je 0x5c01ee1f
test edi, edi
je 0x5c01ee31
and edx, 0xff7ffbff
or ecx, 0x4000
mov dword [esi + 0x1a64], edx
jmp 0x5c01ee2b
test edi, edi
jne 0x5c01ee31
mov ecx, eax
or ecx, 0x400
mov dword [esi + 0x1a6c], ecx
test ecx, 0x8030f
je 0x5c01ee46
mov ecx, esi
call fcn.5c01e62f
mov ecx, dword [esi + 0x1a6c]
test ecx, 0x200000
je 0x5c01eec0
test dword [esi + 0x1a48], 0x500
jne 0x5c01ee66
test dword [esi + 0x1a64], 0x60000000
je 0x5c01eec0
lea eax, [esi + 0x2338]
push eax
lea edx, [esi + 0x2378]
lea ecx, [esi + 0x448]
call fcn.5c01e837
xor ebx, ebx
pop ecx
cmp dword [esi + 0x1cb8], ebx
jbe 0x5c01eeb0
lea edi, [esi + 0x2c8]
lea eax, [esi + 0x2338]
mov ecx, edi
push eax
lea edx, [edi + 0x20f0]
call fcn.5c01e837
inc ebx
add edi, 0x40
pop ecx
cmp ebx, dword [esi + 0x1cb8]
jb 0x5c01ee8f
and dword [esi + 0x1a6c], 0xffdfffff
mov ecx, dword [esi + 0x1a6c]
mov edx, 0x400
mov eax, ecx
mov edi, 0x2000000
test edx, ecx
je 0x5c01ef1f
test dword [esi + 0x1a48], edx
je 0x5c01ef1f
mov edx, dword [esi + 0x1a64]
and edx, 0xff7fffff
cmp dword [esi + 0x1cb8], 0
mov dword [esi + 0x1a64], edx
jne 0x5c01ef0f
test edi, edx
jne 0x5c01ef0f
lea ecx, [esi + 4]
call fcn.5c01e3b2
and dword [esi + 0x1a6c], 0xfffffbff
mov eax, dword [esi + 0x1a6c]
or eax, 0x4000
mov edx, 0x400
mov dword [esi + 0x1a6c], eax
test edi, eax
je 0x5c01ef89
mov ecx, dword [esi + 0x1a64]
test dword [esi + 0x1a48], edx
je 0x5c01ef39
test ecx, 0x800000
je 0x5c01ef41
test ecx, 0x40000000
je 0x5c01ef89
lea edx, [esi + 0x488]
lea ecx, [esi + 0x448]
call fcn.5c01afa7
xor edi, edi
cmp dword [esi + 0x1cb8], edi
jbe 0x5c01ef79
lea ecx, [esi + 0x2c8]
lea edx, [ecx + 0xc0]
call fcn.5c01afa7
inc edi
add ecx, 0x40
cmp edi, dword [esi + 0x1cb8]
jb 0x5c01ef62
and dword [esi + 0x1a6c], 0xfdffffff
mov eax, dword [esi + 0x1a6c]
test eax, 0x10000
je 0x5c01f065
test eax, 0x20000000
je 0x5c01efee
lea ecx, [esi + 0x2478]
lea edx, [esp + 0x58]
call fcn.5c01afa7
test eax, eax
je 0x5c01efb5
mov ecx, edx
call fcn.5c01e5fb
lea ecx, [esi + 0x2338]
lea edx, [esp + 0x18]
call fcn.5c01afa7
test eax, eax
je 0x5c01efcf
mov ecx, edx
call fcn.5c01e5fb
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 0x24f8]
lea edx, [esp + 0x5c]
call fcn.5c01e837
and dword [esi + 0x1a6c], 0xdfffffff
pop ecx
mov eax, dword [esi + 0x2998]
lea ebx, [esi + 0x25d8]
xor edx, edx
xor edi, edi
mov dword [esp + 0x10], edx
mov eax, dword [eax + 0x260]
mov dword [esp + 0x14], eax
lea eax, [esi + 0x1c54]
mov dword [esp + 0xc], eax
xor eax, eax
mov ecx, edi
inc eax
shl eax, cl
test dword [esp + 0x14], eax
je 0x5c01f045
push dword [esp + 0xc]
lea edx, [esi + 0x24f8]
mov ecx, ebx
call fcn.5c01f0ff
mov edx, dword [esp + 0x14]
add esp, 4
inc edx
add dword [esp + 0xc], 0x10
mov dword [esp + 0x10], edx
inc edi
add ebx, 0x10
cmp edi, 6
jb 0x5c01f016
mov eax, dword [esi + 0x1a6c]
and eax, 0xfffeffff
mov dword [esi + 0x1cbc], edx
mov dword [esi + 0x1a6c], eax
test eax, 0x4c000
je 0x5c01f07d
mov ecx, esi
call fcn.5c01f2e8
or dword [esi + 0x1a64], 0x40000
mov eax, dword [esi + 0x5e4]
mov dword [esi + 0x514], eax
mov eax, dword [esi + 0x5e8]
mov dword [esi + 0x5c0], eax
mov eax, dword [esi + 0x1a70]
test al, 0x40
jne 0x5c01f0a9
or dword [esi + 0x1a48], 0x80000000
test al, al
js 0x5c01f0b7
or dword [esi + 0x1a48], 0x100000
test byte [esi + 0x1a60], 0xd0
jne 0x5c01f0d3
cmp dword [esi + 0x1a88], 0
jne 0x5c01f0d3
or dword [esi + 0x1a48], 0x40000000
cmp dword [esi + 0x1a8c], 0
jne 0x5c01f0e6
or dword [esi + 0x1a48], 0x10000000
lea ecx, [esi + 4]
call fcn.5c01f8c9
and dword [esi + 0x1a6c], 0xfffff7ff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret