Function at 0x405b55
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [eax + 0x3c]
push edi
push 1
add esi, eax
mov edi, 0x2000
push edi
push dword [esi + 0x50]
push dword [esi + 0x34]
push dword [ebp + 8]
call dword [0x40eeac]
xor ebx, ebx
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x405ba4
push 1
push edi
push dword [esi + 0x50]
push ebx
push dword [ebp + 8]
call dword [0x40eeac]
cmp eax, ebx
mov dword [ebp - 8], eax
jne 0x405ba4
xor eax, eax
jmp 0x405d73
push dword [esi + 0x50]
call fcn.0040872b
cmp eax, ebx
pop ecx
mov dword [ebp - 0xc], eax
je 0x405b9d
push dword [esi + 0x50]
push dword [ebp + 0xc]
push eax
call fcn.00408763
mov ecx, dword [esi + 0xa0]
add esp, 0xc
cmp ecx, ebx
je 0x405c3a
cmp dword [esi + 0xa4], ebx
je 0x405c3a
mov eax, dword [esi + 0x34]
mov edi, dword [ebp - 8]
sub edi, eax
cmp byte [ebp + 0x10], bl
je 0x405bec
mov edx, dword [ebp + 0xc]
sub edx, eax
mov dword [ebp - 0x10], edx
jmp 0x405bef
mov dword [ebp - 0x10], ebx
mov eax, dword [ebp - 0xc]
add ecx, eax
jmp 0x405c36
mov eax, dword [ecx + 4]
cmp eax, 8
jb 0x405c33
lea edx, [eax - 8]
shr edx, 1
mov dword [ebp - 4], edx
je 0x405c31
movzx eax, word [ecx + ebx*2 + 8]
test ax, ax
je 0x405c2c
and eax, 0xfff
add eax, dword [ecx]
add eax, dword [ebp - 0xc]
cmp byte [ebp + 0x10], 0
je 0x405c27
mov edx, dword [ebp - 0x10]
sub dword [eax], edx
add dword [eax], edi
mov edx, dword [ebp - 4]
inc ebx
cmp ebx, edx
jb 0x405c08
xor ebx, ebx
add ecx, dword [ecx + 4]
cmp dword [ecx], ebx
jne 0x405bf6
mov edi, dword [esi + 0x54]
push 4
push 0x1000
push edi
push dword [ebp - 8]
push dword [ebp + 8]
call dword [0x40eeac]
test eax, eax
je 0x405b9d
push ebx
push edi
push dword [ebp + 0xc]
push dword [ebp - 8]
push dword [ebp + 8]
call dword [0x40ee7c]
lea eax, [ebp - 4]
push eax
push 2
push edi
push dword [ebp - 8]
push dword [ebp + 8]
call dword [0x40eeb0]
cmp word [esi + 6], bx
movzx eax, word [esi + 0x14]
lea eax, [eax + esi + 0x18]
mov dword [ebp + 0xc], ebx
jbe 0x405d67
lea edi, [eax + 0x24]
mov ebx, 0x80000000
mov eax, dword [edi - 0x18]
add eax, dword [ebp - 8]
push 4
push 0x1000
push dword [edi - 0x1c]
push eax
push dword [ebp + 8]
call dword [0x40eeac]
test eax, eax
mov dword [ebp - 0x10], eax
je 0x405b9d
mov ecx, dword [edi - 0x18]
add ecx, dword [ebp - 0xc]
push 0
push dword [edi - 0x1c]
push ecx
push eax
push dword [ebp + 8]
call dword [0x40ee7c]
and dword [ebp - 4], 0
test dword [edi], 0x4000000
je 0x405ce8
mov dword [ebp - 4], 0x200
mov eax, dword [edi]
test eax, 0x20000000
je 0x405d19
test eax, 0x40000000
je 0x405d06
and eax, ebx
neg eax
sbb eax, eax
and eax, 0x20
add eax, 0x20
jmp 0x405d2b
test ebx, eax
je 0x405d13
or dword [ebp - 4], 0x80
jmp 0x405d3e
or dword [ebp - 4], 0x10
jmp 0x405d3e
test eax, 0x40000000
je 0x405d30
and eax, ebx
neg eax
sbb eax, eax
and eax, 2
inc eax
inc eax
or dword [ebp - 4], eax
jmp 0x405d3e
test ebx, eax
je 0x405d3a
or dword [ebp - 4], 8
jmp 0x405d3e
or dword [ebp - 4], 1
lea eax, [ebp - 4]
push eax
push dword [ebp - 4]
push dword [edi - 0x1c]
push dword [ebp - 0x10]
push dword [ebp + 8]
call dword [0x40eeb0]
movzx eax, word [esi + 6]
add edi, 0x28
inc dword [ebp + 0xc]
cmp dword [ebp + 0xc], eax
jb 0x405c9a
push dword [ebp - 0xc]
call fcn.00408749
mov eax, dword [ebp - 8]
pop ecx
pop edi
pop esi
pop ebx
leave
ret