Function at 0x40af80
Capabilities:
Set file attributes

Disassembly:
sub esp, 0x54
mov eax, dword [0x47b660]
xor eax, esp
mov dword [esp + 0x4c], eax
push ebx
push ebp
push esi
push edi
mov esi, edx
push 1
push esi
mov edi, ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
xor ebx, ebx
mov ebp, dword [sym.imp.ADVAPI32.dll_SetNamedSecurityInfoW]
push ebx
push ebx
push ebx
push ebx
push 4
push 1
push esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], ebx
mov byte [esp + 0x70], bl
mov byte [esp + 0x71], bl
mov byte [esp + 0x72], bl
mov byte [esp + 0x73], bl
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], 1
mov byte [esp + 0x68], bl
mov byte [esp + 0x69], bl
mov byte [esp + 0x6a], bl
mov byte [esp + 0x6b], bl
mov byte [esp + 0x6c], bl
mov byte [esp + 0x6d], 5
call ebp
lea eax, [esp + 0x20]
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 1
lea ecx, [esp + 0x7c]
push ecx
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
jne 0x40b02b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0x469758
jmp 0x40b200
lea edx, [esp + 0x28]
push edx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x220
push 0x20
push 2
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
jne 0x40b05f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetReadOnly_AllocateAndInitializeSid__Admin__error__u_n
jmp 0x40b200
lea ecx, [esp + 0x24]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x12
push 1
lea edx, [esp + 0x74]
push edx
call dword [sym.imp.ADVAPI32.dll_AllocateAndInitializeSid]
test eax, eax
jne 0x40b08f
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetReadOnly_AllocateAndInitializeSid__Admin__error__u_n
jmp 0x40b200
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x1c]
push ecx
push ebx
lea edx, [esp + 0x34]
push edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
push 1
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], SysReAllocString
mov dword [esp + 0x40], 2
mov dword [esp + 0x44], 3
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], 5
mov dword [esp + 0x58], eax
call dword [sym.imp.ADVAPI32.dll_SetEntriesInAclW]
test eax, eax
je 0x40b10a
push str.SetReadOnly_Failed_SetEntriesInAcl_n
push 0x400
push edi
call fcn.00442ff8
add esp, 0xc
jmp 0x40b20e
mov eax, dword [esp + 0x1c]
push ebx
push eax
push ebx
push ebx
push 4
push 1
push esi
call ebp
cmp eax, ebx
jne 0x40b142
push str.SetReadOnly_Successfully_changed_DACL_n
push 0x400
push edi
call fcn.00442ff8
add esp, 0xc
call fcn.0040b670
mov dword [esp + 0x18], 1
jmp 0x40b213
cmp eax, 5
je 0x40b152
push eax
push str.SetReadOnly_First_SetNamedSecurityInfo_call_failed:__u_n
jmp 0x40b200
lea ecx, [esp + 0x14]
push ecx
push 0x20
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
jne 0x40b17b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.SetReadOnly_OpenProcessToken_failed:__u_n
jmp 0x40b200
mov edx, dword [esp + 0x14]
push edx
mov eax, 1
call fcn.0040b5b0
test eax, eax
jne 0x40b1a3
push str.SetReadOnly_You_must_be_logged_on_as_Administrator._n
push 0x400
push edi
call fcn.00442ff8
add esp, 0xc
jmp 0x40b20e
mov eax, dword [esp + 0x24]
push ebx
push ebx
push ebx
push eax
push 1
push 1
push esi
call ebp
cmp eax, ebx
je 0x40b1be
push eax
push str.SetReadOnly_Could_not_set_owner._Error:__u_n
jmp 0x40b200
mov ecx, dword [esp + 0x14]
push ecx
xor eax, eax
call fcn.0040b5b0
test eax, eax
jne 0x40b1e3
push str.SetReadOnly_Failed_SetPrivilege_call_unexpectedly._n
push 0x400
push edi
call fcn.00442ff8
add esp, 0xc
jmp 0x40b20e
mov edx, dword [esp + 0x1c]
push ebx
push edx
push ebx
push ebx
push 4
push 1
push esi
call ebp
cmp eax, ebx
je 0x40b11d
push eax
push str.SetReadOnly_Second_SetNamedSecurityInfo_call_failed:__u_n
push 0x400
push edi
call fcn.00442ff8
add esp, 0x10
call fcn.0040b670
mov eax, dword [esp + 0x28]
mov esi, dword [sym.imp.ADVAPI32.dll_FreeSid]
cmp eax, ebx
je 0x40b224
push eax
call esi
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x40b22f
push eax
call esi
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x40b23e
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x40b24d
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00442896
add esp, 0x54
ret