Function at 0x4095e0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45f659
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], 0
mov edi, ecx
mov dword [ebp - 0x10], 0
call fcn.004158c3
mov ecx, eax
test ecx, ecx
jne 0x409621
push 0x80004005
call fcn.0040f120
mov eax, dword [ecx]
call dword [eax + 0xc]
mov esi, dword [ebp + 8]
add eax, 0x10
mov dword [esi], eax
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 4], 0
mov edx, dword [edi + 0x34]
mov dword [ebp - 0x10], 1
call fcn.0040c800
mov ebx, eax
mov eax, dword [edi + 0x34]
cmp eax, 1
jne 0x4097bd
and ebx, 0xffefffff
mov ecx, ebx
and ecx, 0xf01ff
cmp ecx, 0xf01ff
jne 0x40967f
push 5
push 0x472138
mov ecx, esi
call fcn.0040d7e0
and ebx, 0xfff0fe00
mov eax, ebx
and eax, 0x301bf
cmp eax, 0x301bf
jne 0x4096a1
push 7
push str.change
mov ecx, esi
call fcn.0040d7e0
and ebx, 0xfffcfe40
mov eax, ebx
and eax, 0x200a9
cmp eax, 0x200a9
jne 0x4096c3
push 0xd
push str.read_execute
mov ecx, esi
call fcn.0040d7e0
and ebx, 0xfffdff56
mov eax, ebx
and eax, 0x116
cmp eax, 0x116
jne 0x4096e5
push 6
push str.write
mov ecx, esi
call fcn.0040d7e0
and ebx, 0xfffffee9
mov eax, ebx
and eax, 0x20089
cmp eax, 0x20089
jne 0x409707
push 5
push str.read
mov ecx, esi
call fcn.0040d7e0
and ebx, 0xfffdff76
test bl, 1
je 0x40971a
push 0x14
push str.FILE_LIST_DIRECTORY
mov ecx, esi
call fcn.0040d7e0
test bl, 2
je 0x40972d
push 0xe
push str.FILE_ADD_FILE
mov ecx, esi
call fcn.0040d7e0
test bl, 4
je 0x409740
push 0x16
push str.FILE_ADD_SUBDIRECTORY
mov ecx, esi
call fcn.0040d7e0
test bl, 8
je 0x409753
push 0xd
push str.FILE_READ_EA
mov ecx, esi
call fcn.0040d7e0
test bl, 0x10
je 0x409766
push 0xe
push str.FILE_WRITE_EA
mov ecx, esi
call fcn.0040d7e0
test bl, 0x20
je 0x409779
push 0xe
push str.FILE_TRAVERSE
mov ecx, esi
call fcn.0040d7e0
test bl, 0x40
je 0x40978c
push 0x12
push str.FILE_DELETE_CHILD
mov ecx, esi
call fcn.0040d7e0
test bl, bl
jns 0x40979e
push 0x15
push str.FILE_READ_ATTRIBUTES
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x100
je 0x409a6a
push 0x16
push str.FILE_WRITE_ATTRIBUTES
mov ecx, esi
call fcn.0040d7e0
jmp 0x409a6a
cmp eax, 4
jne 0x4098c5
mov eax, ebx
and eax, 0xf003f
cmp eax, 0xf003f
jne 0x4097e8
push 5
push 0x472138
mov ecx, esi
call fcn.0040d7e0
and ebx, 0xfff0ffc0
mov eax, ebx
and eax, 0x20019
cmp eax, 0x20019
jne 0x40980a
push 5
push str.read
mov ecx, esi
call fcn.0040d7e0
and ebx, 0xfffdffe6
test bl, 0x20
je 0x40981d
push 0x10
push str.KEY_CREATE_LINK
mov ecx, esi
call fcn.0040d7e0
test bl, 4
je 0x409830
push 0x13
push str.KEY_CREATE_SUB_KEY
mov ecx, esi
call fcn.0040d7e0
test bl, 8
je 0x409843
push 0x17
push str.KEY_ENUMERATE_SUB_KEYS
mov ecx, esi
call fcn.0040d7e0
mov edi, ebx
and edi, 0x20019
je 0x40985b
push 0xc
push str.KEY_EXECUTE
mov ecx, esi
call fcn.0040d7e0
test bl, 0x10
je 0x40986e
push 0xb
push str.KEY_NOTIFY
mov ecx, esi
call fcn.0040d7e0
test bl, 1
je 0x409881
push 0x10
push str.KEY_QUERY_VALUE
mov ecx, esi
call fcn.0040d7e0
test edi, edi
je 0x409893
push 9
push str.KEY_READ
mov ecx, esi
call fcn.0040d7e0
test bl, 2
je 0x4098a6
push 0xe
push str.KEY_SET_VALUE
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x20006
je 0x409a6a
push 0xa
push str.KEY_WRITE
mov ecx, esi
call fcn.0040d7e0
jmp 0x409a6a
cmp eax, 2
jne 0x4099cb
mov eax, ebx
and eax, 0xf01ff
cmp eax, 0xf01ff
jne 0x4098ee
push 0x472138
mov ecx, esi
call fcn.0040d570
and ebx, 0xfff0fe00
mov eax, ebx
and eax, 0x201fd
cmp eax, 0x201fd
jne 0x40990e
push str.start_stop
mov ecx, esi
call fcn.0040d570
and ebx, 0xfffdfe02
mov eax, ebx
and eax, 0x2018d
cmp eax, 0x2018d
jne 0x40992e
push str.read
mov ecx, esi
call fcn.0040d570
and ebx, 0xfffdfe72
test bl, 2
je 0x40993f
push str.SERVICE_CHANGE_CONFIG
mov ecx, esi
call fcn.0040d570
test bl, 8
je 0x409950
push str.SERVICE_ENUMERATE_DEPENDENTS
mov ecx, esi
call fcn.0040d570
test bl, bl
jns 0x409960
push str.SERVICE_INTERROGATE
mov ecx, esi
call fcn.0040d570
test bl, 0x40
je 0x409971
push str.SERVICE_PAUSE_CONTINUE
mov ecx, esi
call fcn.0040d570
test bl, 1
je 0x409982
push str.SERVICE_QUERY_CONFIG
mov ecx, esi
call fcn.0040d570
test bl, 4
je 0x409993
push str.SERVICE_QUERY_STATUS
mov ecx, esi
call fcn.0040d570
test bl, 0x10
je 0x4099a4
push str.SERVICE_START
mov ecx, esi
call fcn.0040d570
test bl, 0x20
je 0x4099b5
push str.SERVICE_STOP
mov ecx, esi
call fcn.0040d570
test ebx, 0x100
je 0x409a6a
push str.SERVICE_USER_DEFINED_CONTROL
jmp 0x409a63
cmp eax, 5
jne 0x409a6a
mov eax, ebx
and eax, 0x1f01ff
cmp eax, 0x1f01ff
jne 0x4099f4
push 0x472138
mov ecx, esi
call fcn.0040d570
and ebx, 0xffe0fe00
mov eax, ebx
and eax, 0x1301bf
cmp eax, 0x1301bf
jne 0x409a14
push str.change
mov ecx, esi
call fcn.0040d570
and ebx, 0xffecfe40
mov eax, ebx
and eax, 0x1200a9
cmp eax, 0x1200a9
jne 0x409a34
push str.read
mov ecx, esi
call fcn.0040d570
and ebx, 0xffedff56
test ebx, 0x1bf
je 0x409a48
push str.SHARE_READ
mov ecx, esi
call fcn.0040d570
test bl, 0xa9
je 0x409a59
push str.SHARE_CHANGE
mov ecx, esi
call fcn.0040d570
test bl, 0x40
je 0x409a6a
push str.SHARE_WRITE
mov ecx, esi
call fcn.0040d570
test ebx, 0x20000
je 0x409a80
push 0xd
push str.READ_CONTROL
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x80000
je 0x409a96
push 0xc
push str.WRITE_OWNER
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x40000
je 0x409aac
push 0xa
push str.WRITE_DAC
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x10000
je 0x409ac2
push 7
push str.DELETE
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x100000
je 0x409ad8
push 0xc
push str.SYNCHRONIZE
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x1000000
je 0x409aee
push 0x17
push str.ACCESS_SYSTEM_SECURITY
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x10000000
je 0x409b04
push 0xc
push str.GENERIC_ALL
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x20000000
je 0x409b1a
push 0x10
push str.GENERIC_EXECUTE
mov ecx, esi
call fcn.0040d7e0
test ebx, ebx
jns 0x409b2c
push 0xd
push str.GENERIC_READ
mov ecx, esi
call fcn.0040d7e0
test ebx, 0x40000000
je 0x409b42
push 0xe
push str.GENERIC_WRITE
mov ecx, esi
call fcn.0040d7e0
push 0x472730
mov ecx, esi
call fcn.0040ced0
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 8