Function at 0x40ca80
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov edi, dword [0x4342e4]
mov esi, dword [esp + 0x60]
test edi, edi
je 0x40cae2
mov eax, dword [edi]
test eax, eax
je 0x40caa7
nop
lea esi, [esi]
mov eax, dword [eax + 8]
test eax, eax
jne 0x40caa0
mov ebx, dword [edi + 4]
xor edx, edx
xor ebp, ebp
test ebx, ebx
je 0x40cadb
movzx eax, byte [ebx]
cmp al, 0x29
ja case.0x40cabd.0
jmp dword [eax*4 + 0x42790c]
mov eax, dword [ebx + 8]
mov ecx, 1
test eax, eax
cmove eax, ecx
mov dword [esi + 0x18], eax
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x40cab2
mov edi, dword [edi + 8]
test edi, edi
jne 0x40ca95
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 8]
test eax, eax
js 0x40ce5f
mov dword [esi + 0x10], eax
or dword [esi + 0x78], 0x40000000
jmp 0x40cad4
mov eax, dword [ebx + 8]
test eax, eax
js 0x40ce10
mov dword [esi + 0xc], eax
jmp 0x40cafe
mov eax, dword [ebx + 8]
mov ecx, 1
test eax, eax
cmove eax, ecx
mov dword [esi + 0x14], eax
jmp 0x40cad4
or dword [esi + 0x78], 0x20000000
jmp 0x40cad4
or dword [esi + 0x78], 0x10000000
jmp 0x40cad4
or dword [esi + 0x78], 0x8000000
jmp 0x40cad4
test dl, dl
mov eax, dword [esi + 0x78]
je 0x40cde0
or eax, 0x4000000
mov edx, 1
mov dword [esi + 0x78], eax
jmp 0x40cad4
mov ecx, ebp
mov eax, dword [esi + 0x78]
test cl, cl
je 0x40cdd0
or eax, 0x2000000
mov ebp, 1
mov dword [esi + 0x78], eax
jmp 0x40cad4
and word [esi + 0x80], 0xf7ff
jmp 0x40cad4
or dword [esi + 0x78], 0x1000000
jmp 0x40cad4
and word [esi + 0x80], 0xffdf
jmp 0x40cad4
and word [esi + 0x80], 0xffbf
jmp 0x40cad4
and word [esi + 0x80], 0xffef
jmp 0x40cad4
and word [esi + 0x80], 0xfff7
jmp 0x40cad4
and word [esi + 0x80], 0xfffb
jmp 0x40cad4
or dword [esi + 0x78], 0x400
jmp 0x40cad4
or word [esi + 0x80], 0x400
jmp 0x40cad4
or dword [esi + 0x78], 0x20000
jmp 0x40cad4
or dword [esi + 0x78], 0x200000
mov edx, 1
jmp 0x40cad4
or dword [esi + 0x78], 0x100000
jmp 0x40cad4
or dword [esi + 0x78], 0x80000
jmp 0x40cad4
or dword [esi + 0x78], 0x40000
jmp 0x40cad4
and word [esi + 0x80], 0xfdff
jmp 0x40cad4
or dword [esi + 0x78], 0x1000
jmp 0x40cad4
and word [esi + 0x80], 0xfeff
jmp 0x40cad4
and word [esi + 0x80], 0xff7f
jmp 0x40cad4
mov eax, dword [ebx + 8]
or dword [esi + 0x78], 0x800
mov dword [esi + 0x7c], eax
jmp 0x40cad4
or dword [esi + 0x78], 0x40
jmp 0x40cad4
or dword [esi + 0x78], 0x20
jmp 0x40cad4
or byte [esi + 0x84], 3
jmp 0x40cad4
or dword [esi + 0x78], 0x100
jmp 0x40cad4
and word [esi + 0x80], 0xfdfd
jmp 0x40cad4
or word [esi + 0x80], 2
jmp 0x40cad4
and word [esi + 0x80], 0xfffe
jmp 0x40cad4
or word [esi + 0x80], 1
jmp 0x40cad4
or dword [esi + 0x78], 0x10
mov ebp, 1
jmp 0x40cad4
mov dword [esi + 0x8c], 0
jmp 0x40cad4
or dword [esi + 0x78], 8
jmp 0x40cad4
mov eax, dword [ebx + 8]
test eax, eax
je 0x40cdf2
cmp eax, dword [0x43584c]
ja 0x40cdf2
sub eax, 1
mov word [esi + 0x82], ax
jmp 0x40cad4
mov eax, dword [ebx + 8]
mov byte [esi + 0x85], al
jmp 0x40cad4
mov dword [esp + 4], eax
mov dword [esp], str.invalid_option:__d
mov byte [esp + 0x2f], dl
call fcn.00408830
movzx edx, byte [esp + 0x2f]
jmp 0x40cad4
and eax, 0xffffffef
or eax, 0x2000000
mov dword [esi + 0x78], eax
jmp 0x40cad4
and eax, 0xffdfffff
or eax, 0x4000000
mov dword [esi + 0x78], eax
jmp 0x40cad4
mov dword [esp + 4], eax
mov dword [esp], str.invalid_group_desktop:__d
mov byte [esp + 0x2f], dl
call fcn.0040c170
movzx edx, byte [esp + 0x2f]
jmp 0x40cad4
lea eax, [esp + 0x3c]
mov byte [esp + 0x2f], dl
mov dword [esp + 0x10], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
mov dword [esp + 8], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
lea eax, [esi + 0x78]
mov dword [esp], eax
call fcn.00404340
mov eax, dword [0x435808]
add eax, dword [ebx + 8]
sub eax, dword [esi + 0x14]
movzx edx, byte [esp + 0x2f]
sub eax, dword [esp + 0x38]
sub eax, dword [esp + 0x3c]
mov dword [esi + 0xc], eax
jmp 0x40cafe
lea eax, [esp + 0x3c]
mov byte [esp + 0x2f], dl
mov dword [esp + 0x10], eax
lea eax, [esp + 0x38]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
mov dword [esp + 8], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
lea eax, [esi + 0x78]
mov dword [esp], eax
call fcn.00404340
mov eax, dword [0x435804]
add eax, dword [ebx + 8]
sub eax, dword [esi + 0x18]
movzx edx, byte [esp + 0x2f]
sub eax, dword [esp + 0x30]
sub eax, dword [esp + 0x34]
mov dword [esi + 0x10], eax
jmp 0x40cafe