Function at 0x5efa50
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
xorps xmm0, xmm0
mov dword [ebp - 4], 0
push 0x41495351
xor ebx, ebx
movlpd qword [ebp - 0x20], xmm0
push 0x200
mov dword [ebp - 0xc], ebx
call fcn.004f3590
mov esi, eax
add esp, 8
test esi, esi
jne 0x5efa8f
pop esi
mov eax, 0x3f1
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
push edi
mov dword [ebp - 0x14], ecx
cmp dword [ebp + 0xc], ecx
jbe 0x5f0e25
mov edi, dword [ebp + 0x20]
mov ebx, dword [ebp + 0x1c]
lea eax, [ebp - 4]
mov dword [ebp - 8], 1
push eax
push ecx
push dword [ebp + 8]
call dword [sym.imp.ADVAPI32.dll_GetAce]
mov eax, dword [ebp - 4]
lea ecx, [ebp - 0x20]
push ecx
add eax, 8
push 0
push eax
mov dword [ebp - 0x18], eax
call fcn.005588c0
add esp, 0xc
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x5f0e8f
mov eax, dword [ebp - 0x20]
add eax, eax
push 0x42495351
push eax
call fcn.004f3590
add esp, 8
mov dword [ebp - 0xc], eax
test eax, eax
je 0x5f0e4e
mov ecx, dword [ebp - 0x20]
add ecx, ecx
push ecx
push eax
call fcn.004f3630
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x18]
call fcn.005588c0
add esp, 0x14
test eax, eax
je 0x5efb5c
test byte [0x9538a8], 1
je 0x5efb4a
push eax
push str.Failed_to_get_account_name_by_sid__err__d
push 0xb0
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_solidifier_sci_sci.c
push str.sci_put_acl_entries_in_buffer
push dword [0x905448]
push 1
call fcn.004f21c0
add esp, 0x1c
push dword [ebp - 0xc]
call fcn.004f3570
add esp, 4
mov dword [ebp - 0xc], 0
push str._User_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5efbd3
test ebx, ebx
js 0x5efbd3
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5efb9d
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
mov eax, 0x6e3004
mov ecx, dword [ebp - 0xc]
test ecx, ecx
cmovne eax, ecx
push eax
push str._Name__s__Name_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x1c
jmp 0x5efbfe
mov ecx, dword [ebp - 0xc]
mov eax, 0x6e3004
test ecx, ecx
cmovne eax, ecx
push eax
push str._Name__s__Name_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5efc4a
test ebx, ebx
js 0x5efc4a
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5efc22
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
push str._Type_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x18
jmp 0x5efc67
push str._Type_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5efca1
test ebx, ebx
js 0x5efca1
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5efc8b
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
mov eax, dword [ebp - 4]
movzx eax, byte [eax]
cmp eax, 8
ja case.0x5efcac.4
jmp dword [eax*4 + 0x5f0ec8]
push str.Access_Allowed_
jmp 0x5efce9
push str.Access_Denied_
jmp 0x5efce9
push str.Access_Allowed_Object_
jmp 0x5efce9
push str.Access_Denied_Object_
jmp 0x5efce9
push str.System_Audit_
jmp 0x5efce9
push str.System_Alarm_
jmp 0x5efce9
push str.System_Audit_Object_
jmp 0x5efce9
push str.System_Alarm_Object_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5efd3b
test ebx, ebx
js 0x5efd3b
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5efd25
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x10000
je 0x5efd9e
push str.Delete_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5efd9e
test ebx, ebx
js 0x5efd9e
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5efd88
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x20000
je 0x5efe01
push str.Read_Control_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5efe01
test ebx, ebx
js 0x5efe01
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5efdeb
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x40000
je 0x5efe64
push str.Write_Dac_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5efe64
test ebx, ebx
js 0x5efe64
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5efe4e
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x80000
je 0x5efec7
push str.Write_Owner_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5efec7
test ebx, ebx
js 0x5efec7
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5efeb1
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x100000
je 0x5eff3c
push str.Synchronize
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5eff3c
test ebx, ebx
js 0x5eff3c
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5eff14
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
push str.__Type_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x18
jmp 0x5eff59
push str.__Type_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5effa5
test ebx, ebx
js 0x5effa5
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5eff7d
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
push str._HeaderFlags_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x18
jmp 0x5effc2
push str._HeaderFlags_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5efffc
test ebx, ebx
js 0x5efffc
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5effe6
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
mov eax, dword [ebp - 4]
test byte [eax + 1], 0x40
je 0x5f0068
push str.Successful_Access_ACE
push 0x6d1abc
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0061
test ebx, ebx
js 0x5f0061
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f004b
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x5f006b
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp byte [eax + 1], 0
jge 0x5f00e2
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Failed_Access_ACE
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f00db
test ebx, ebx
js 0x5f00db
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [edx + eax]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f00c5
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x5f00e5
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
test byte [eax + 1], 2
je 0x5f015c
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Container_Inherit_ACE
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0155
test ebx, ebx
js 0x5f0155
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f013f
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x5f015f
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
test byte [eax + 1], 8
je 0x5f01d6
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Inherit_Only_ACE
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f01cf
test ebx, ebx
js 0x5f01cf
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f01b9
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x5f01d9
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
test byte [eax + 1], 0x10
je 0x5f0250
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Inherited_ACE
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0249
test ebx, ebx
js 0x5f0249
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0233
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x5f0253
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
test byte [eax + 1], 4
je 0x5f02ca
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.No_Propagate_ACE
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f02c3
test ebx, ebx
js 0x5f02c3
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f02ad
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov dword [ebp - 8], ecx
jmp 0x5f02cd
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
test byte [eax + 1], 1
je 0x5f0341
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Object_Inherit_ACE
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f033d
test ebx, ebx
js 0x5f033d
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0327
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor eax, eax
jmp 0x5f0344
mov eax, dword [ebp - 8]
test eax, eax
je 0x5f03b1
push 0x6e3004
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5f03b1
test ebx, ebx
js 0x5f03b1
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0389
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
push str.__HeaderFlags_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x18
jmp 0x5f03ce
push str.__HeaderFlags_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5f041a
test ebx, ebx
js 0x5f041a
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f03f2
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
push str._GenericRights_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x18
jmp 0x5f0437
push str._GenericRights_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5f0471
test ebx, ebx
js 0x5f0471
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f045b
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
mov eax, dword [ebp - 4]
mov ecx, 1
test dword [eax + 4], 0x120089
je 0x5f04e0
push str.File_Generic_Read
push 0x6d1abc
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f04de
test ebx, ebx
js 0x5f04de
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f04c8
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x120116
je 0x5f0555
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.File_Generic_Write
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0553
test ebx, ebx
js 0x5f0553
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f053d
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x1200a0
je 0x5f05ca
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.File_Generic_Execute
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f05c8
test ebx, ebx
js 0x5f05c8
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f05b2
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
cmp dword [eax + 4], 0
jge 0x5f063c
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Generic_Read
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f063a
test ebx, ebx
js 0x5f063a
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0624
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x40000000
je 0x5f06b1
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Generic_Write
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f06af
test ebx, ebx
js 0x5f06af
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0699
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x20000000
je 0x5f0726
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Generic_Execute
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0724
test ebx, ebx
js 0x5f0724
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f070e
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x10000000
je 0x5f079b
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Generic_All
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0799
test ebx, ebx
js 0x5f0799
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0783
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
test ecx, ecx
je 0x5f0808
push 0x6e3004
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5f0808
test ebx, ebx
js 0x5f0808
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f07e0
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
push str.__GenericRights_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x18
jmp 0x5f0825
push str.__GenericRights_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5f0871
test ebx, ebx
js 0x5f0871
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0849
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
push str._SpecificRights_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x18
jmp 0x5f088e
push str._SpecificRights_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5f08c8
test ebx, ebx
js 0x5f08c8
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f08b2
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
mov eax, dword [ebp - 4]
mov ecx, 1
test byte [eax + 4], cl
je 0x5f0933
push str.List_Folders_Read_Data
push 0x6d1abc
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0931
test ebx, ebx
js 0x5f0931
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f091b
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test byte [eax + 4], 2
je 0x5f09a5
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Create_Files_Write_Data
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f09a3
test ebx, ebx
js 0x5f09a3
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f098d
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test byte [eax + 4], 4
je 0x5f0a17
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Create_Folders_Append_Data
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0a15
test ebx, ebx
js 0x5f0a15
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f09ff
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test byte [eax + 4], 8
je 0x5f0a89
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Read_Extended_Attributes
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0a87
test ebx, ebx
js 0x5f0a87
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0a71
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test byte [eax + 4], 0x10
je 0x5f0afb
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Write_Extended_Attributes
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0af9
test ebx, ebx
js 0x5f0af9
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0ae3
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test byte [eax + 4], 0x20
je 0x5f0b6d
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Traverse_Folders_Execute_Files
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0b6b
test ebx, ebx
js 0x5f0b6b
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0b55
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test byte [eax + 4], 0x80
je 0x5f0bdf
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Read_Attributes
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0bdd
test ebx, ebx
js 0x5f0bdd
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0bc7
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test dword [eax + 4], 0x100
je 0x5f0c54
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Write_Attributes
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0c52
test ebx, ebx
js 0x5f0c52
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0c3c
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
mov eax, dword [ebp - 4]
test byte [eax + 4], 0x40
je 0x5f0cc6
test ecx, ecx
mov eax, str.___s
mov ecx, 0x6d1abc
push str.Directory_Delete_Child
cmovne eax, ecx
push eax
push 0x200
push esi
call fcn.004f3b60
add esp, 0x10
cmp dword [ebp + 0x18], 0
je 0x5f0cc4
test ebx, ebx
js 0x5f0cc4
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0cae
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor ecx, ecx
test ecx, ecx
je 0x5f0d33
push 0x6e3004
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5f0d33
test ebx, ebx
js 0x5f0d33
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0d0b
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
push str.__SpecificRights_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x18
jmp 0x5f0d50
push str.__SpecificRights_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5f0d9c
test ebx, ebx
js 0x5f0d9c
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0d74
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add dword [edi], eax
push str.__User_
push 0x200
push esi
call fcn.004f3b60
add esp, 0x18
jmp 0x5f0db9
push str.__User_
push 0x200
push esi
call fcn.004f3b60
add esp, 0xc
cmp dword [ebp + 0x18], 0
je 0x5f0df3
test ebx, ebx
js 0x5f0df3
push esi
call fcn.004f36e0
mov edx, dword [edi]
add esp, 4
mov dword [ebp - 0x18], eax
lea ecx, [eax + edx]
cmp ebx, ecx
jle 0x5f0e47
push eax
push esi
mov ecx, edx
test ecx, ecx
jns 0x5f0dd9
add ecx, 1
sar ecx, 1
mov eax, dword [ebp + 0x18]
lea ecx, [eax + ecx*2]
push ecx
call fcn.004f35b0
mov eax, dword [ebp - 0x18]
add esp, 0xc
add dword [edi], eax
xor eax, eax
jmp 0x5f0df8
mov eax, 0x3ea
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x5f0e12
push eax
call fcn.004f3570
add esp, 4
mov dword [ebp - 0xc], 0
mov ecx, dword [ebp - 0x14]
inc ecx
mov dword [ebp - 0x14], ecx
cmp ecx, dword [ebp + 0xc]
jb 0x5efaa4
mov ebx, dword [ebp - 0x10]
push esi
call fcn.004f3570
mov eax, dword [ebp - 0xc]
add esp, 4
test eax, eax
je 0x5f0e3e
push eax
call fcn.004f3570
add esp, 4
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, 0x3f1
jmp 0x5f0e25
test byte [0x9538a8], 1
mov ebx, 0xc
je 0x5f0e25
push str.Memory_allocation_failure.
push 0xa6
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_solidifier_sci_sci.c
push str.sci_put_acl_entries_in_buffer
push dword [0x905448]
push 1
call fcn.004f21c0
push esi
call fcn.004f3570
add esp, 0x1c
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [0x9538a8], 1
mov ebx, dword [ebp - 0x10]
je 0x5f0e25
push ebx
push str.Failed_to_get_account_name_by_sid__err__d
push 0x9c
push str.E:_workspace_AC_CC_Windows_TACC_MASTER_master_src_solidifier_sci_sci.c
push str.sci_put_acl_entries_in_buffer
push dword [0x905448]
push 1
call fcn.004f21c0
add esp, 0x1c
jmp 0x5f0e25